All Downloads are FREE. Search and download functionalities are using the official Maven repository.

de.undercouch.citeproc.endnote.EndNoteReferenceBuilder Maven / Gradle / Ivy

package de.undercouch.citeproc.endnote;

import java.util.Map;

/**
 * Builder for {@link EndNoteReference}
 * 
 * @author Michel Kraemer
 */
public class EndNoteReferenceBuilder {

    private String[] authors;
    private String bookOrConference;
    private String place;
    private String year;
    private String[] editors;
    private String label;
    private String language;
    private String[] translatedAuthors;
    private String publisher;
    private String journal;
    private String[] keywords;
    private String callNumber;
    private String accessionNumber;
    private String numberOrIssue;
    private String pages;
    private String translatedTitle;
    private String electronicResourceNumber;
    private String tertiaryTitle;
    private String title;
    private String URL;
    private String volume;
    private String databaseProvider;
    private String abstrct;
    private String[] tertiaryAuthors;
    private String[] notes;
    private EndNoteType type;
    private String custom1;
    private String custom2;
    private String custom3;
    private String custom4;
    private String numberOfVolumes;
    private String edition;
    private String date;
    private String typeOfWork;
    private String[] subsidiaryAuthors;
    private String isbnOrIssn;
    private String shortTitle;
    private String custom5;
    private String custom6;
    private String custom7;
    private String section;
    private String originalPublication;
    private String reprintEdition;
    private String reviewedItem;
    private String authorAddress;
    private String caption;
    private String linkToPDF;
    private String researchNotes;
    private String accessDate;
    private String lastModifiedDate;
    private String nameOfDatabase;

    public EndNoteReferenceBuilder() {

        this.authors = null;
        this.bookOrConference = null;
        this.place = null;
        this.year = null;
        this.editors = null;
        this.label = null;
        this.language = null;
        this.translatedAuthors = null;
        this.publisher = null;
        this.journal = null;
        this.keywords = null;
        this.callNumber = null;
        this.accessionNumber = null;
        this.numberOrIssue = null;
        this.pages = null;
        this.translatedTitle = null;
        this.electronicResourceNumber = null;
        this.tertiaryTitle = null;
        this.title = null;
        this.URL = null;
        this.volume = null;
        this.databaseProvider = null;
        this.abstrct = null;
        this.tertiaryAuthors = null;
        this.notes = null;
        this.type = null;
        this.custom1 = null;
        this.custom2 = null;
        this.custom3 = null;
        this.custom4 = null;
        this.numberOfVolumes = null;
        this.edition = null;
        this.date = null;
        this.typeOfWork = null;
        this.subsidiaryAuthors = null;
        this.isbnOrIssn = null;
        this.shortTitle = null;
        this.custom5 = null;
        this.custom6 = null;
        this.custom7 = null;
        this.section = null;
        this.originalPublication = null;
        this.reprintEdition = null;
        this.reviewedItem = null;
        this.authorAddress = null;
        this.caption = null;
        this.linkToPDF = null;
        this.researchNotes = null;
        this.accessDate = null;
        this.lastModifiedDate = null;
        this.nameOfDatabase = null;

    }

    public EndNoteReferenceBuilder authors(String... authors) {
        this.authors = authors;
        return this;
    }

    public EndNoteReferenceBuilder bookOrConference(String bookOrConference) {
        this.bookOrConference = bookOrConference;
        return this;
    }

    public EndNoteReferenceBuilder place(String place) {
        this.place = place;
        return this;
    }

    public EndNoteReferenceBuilder year(String year) {
        this.year = year;
        return this;
    }

    public EndNoteReferenceBuilder editors(String... editors) {
        this.editors = editors;
        return this;
    }

    public EndNoteReferenceBuilder label(String label) {
        this.label = label;
        return this;
    }

    public EndNoteReferenceBuilder language(String language) {
        this.language = language;
        return this;
    }

    public EndNoteReferenceBuilder translatedAuthors(String... translatedAuthors) {
        this.translatedAuthors = translatedAuthors;
        return this;
    }

    public EndNoteReferenceBuilder publisher(String publisher) {
        this.publisher = publisher;
        return this;
    }

    public EndNoteReferenceBuilder journal(String journal) {
        this.journal = journal;
        return this;
    }

    public EndNoteReferenceBuilder keywords(String... keywords) {
        this.keywords = keywords;
        return this;
    }

    public EndNoteReferenceBuilder callNumber(String callNumber) {
        this.callNumber = callNumber;
        return this;
    }

    public EndNoteReferenceBuilder accessionNumber(String accessionNumber) {
        this.accessionNumber = accessionNumber;
        return this;
    }

    public EndNoteReferenceBuilder numberOrIssue(String numberOrIssue) {
        this.numberOrIssue = numberOrIssue;
        return this;
    }

    public EndNoteReferenceBuilder pages(String pages) {
        this.pages = pages;
        return this;
    }

    public EndNoteReferenceBuilder translatedTitle(String translatedTitle) {
        this.translatedTitle = translatedTitle;
        return this;
    }

    public EndNoteReferenceBuilder electronicResourceNumber(String electronicResourceNumber) {
        this.electronicResourceNumber = electronicResourceNumber;
        return this;
    }

    public EndNoteReferenceBuilder tertiaryTitle(String tertiaryTitle) {
        this.tertiaryTitle = tertiaryTitle;
        return this;
    }

    public EndNoteReferenceBuilder title(String title) {
        this.title = title;
        return this;
    }

    public EndNoteReferenceBuilder URL(String URL) {
        this.URL = URL;
        return this;
    }

    public EndNoteReferenceBuilder volume(String volume) {
        this.volume = volume;
        return this;
    }

    public EndNoteReferenceBuilder databaseProvider(String databaseProvider) {
        this.databaseProvider = databaseProvider;
        return this;
    }

    public EndNoteReferenceBuilder abstrct(String abstrct) {
        this.abstrct = abstrct;
        return this;
    }

    public EndNoteReferenceBuilder tertiaryAuthors(String... tertiaryAuthors) {
        this.tertiaryAuthors = tertiaryAuthors;
        return this;
    }

    public EndNoteReferenceBuilder notes(String... notes) {
        this.notes = notes;
        return this;
    }

    public EndNoteReferenceBuilder type(EndNoteType type) {
        this.type = type;
        return this;
    }

    public EndNoteReferenceBuilder custom1(String custom1) {
        this.custom1 = custom1;
        return this;
    }

    public EndNoteReferenceBuilder custom2(String custom2) {
        this.custom2 = custom2;
        return this;
    }

    public EndNoteReferenceBuilder custom3(String custom3) {
        this.custom3 = custom3;
        return this;
    }

    public EndNoteReferenceBuilder custom4(String custom4) {
        this.custom4 = custom4;
        return this;
    }

    public EndNoteReferenceBuilder numberOfVolumes(String numberOfVolumes) {
        this.numberOfVolumes = numberOfVolumes;
        return this;
    }

    public EndNoteReferenceBuilder edition(String edition) {
        this.edition = edition;
        return this;
    }

    public EndNoteReferenceBuilder date(String date) {
        this.date = date;
        return this;
    }

    public EndNoteReferenceBuilder typeOfWork(String typeOfWork) {
        this.typeOfWork = typeOfWork;
        return this;
    }

    public EndNoteReferenceBuilder subsidiaryAuthors(String... subsidiaryAuthors) {
        this.subsidiaryAuthors = subsidiaryAuthors;
        return this;
    }

    public EndNoteReferenceBuilder isbnOrIssn(String isbnOrIssn) {
        this.isbnOrIssn = isbnOrIssn;
        return this;
    }

    public EndNoteReferenceBuilder shortTitle(String shortTitle) {
        this.shortTitle = shortTitle;
        return this;
    }

    public EndNoteReferenceBuilder custom5(String custom5) {
        this.custom5 = custom5;
        return this;
    }

    public EndNoteReferenceBuilder custom6(String custom6) {
        this.custom6 = custom6;
        return this;
    }

    public EndNoteReferenceBuilder custom7(String custom7) {
        this.custom7 = custom7;
        return this;
    }

    public EndNoteReferenceBuilder section(String section) {
        this.section = section;
        return this;
    }

    public EndNoteReferenceBuilder originalPublication(String originalPublication) {
        this.originalPublication = originalPublication;
        return this;
    }

    public EndNoteReferenceBuilder reprintEdition(String reprintEdition) {
        this.reprintEdition = reprintEdition;
        return this;
    }

    public EndNoteReferenceBuilder reviewedItem(String reviewedItem) {
        this.reviewedItem = reviewedItem;
        return this;
    }

    public EndNoteReferenceBuilder authorAddress(String authorAddress) {
        this.authorAddress = authorAddress;
        return this;
    }

    public EndNoteReferenceBuilder caption(String caption) {
        this.caption = caption;
        return this;
    }

    public EndNoteReferenceBuilder linkToPDF(String linkToPDF) {
        this.linkToPDF = linkToPDF;
        return this;
    }

    public EndNoteReferenceBuilder researchNotes(String researchNotes) {
        this.researchNotes = researchNotes;
        return this;
    }

    public EndNoteReferenceBuilder accessDate(String accessDate) {
        this.accessDate = accessDate;
        return this;
    }

    public EndNoteReferenceBuilder lastModifiedDate(String lastModifiedDate) {
        this.lastModifiedDate = lastModifiedDate;
        return this;
    }

    public EndNoteReferenceBuilder nameOfDatabase(String nameOfDatabase) {
        this.nameOfDatabase = nameOfDatabase;
        return this;
    }

    /**
     * Creates a builder that copies properties from the given original object
     * 
     * @param original
     *            the original object
     */
    public EndNoteReferenceBuilder(EndNoteReference original) {

        this.authors = original.getAuthors();
        this.bookOrConference = original.getBookOrConference();
        this.place = original.getPlace();
        this.year = original.getYear();
        this.editors = original.getEditors();
        this.label = original.getLabel();
        this.language = original.getLanguage();
        this.translatedAuthors = original.getTranslatedAuthors();
        this.publisher = original.getPublisher();
        this.journal = original.getJournal();
        this.keywords = original.getKeywords();
        this.callNumber = original.getCallNumber();
        this.accessionNumber = original.getAccessionNumber();
        this.numberOrIssue = original.getNumberOrIssue();
        this.pages = original.getPages();
        this.translatedTitle = original.getTranslatedTitle();
        this.electronicResourceNumber = original.getElectronicResourceNumber();
        this.tertiaryTitle = original.getTertiaryTitle();
        this.title = original.getTitle();
        this.URL = original.getURL();
        this.volume = original.getVolume();
        this.databaseProvider = original.getDatabaseProvider();
        this.abstrct = original.getAbstrct();
        this.tertiaryAuthors = original.getTertiaryAuthors();
        this.notes = original.getNotes();
        this.type = original.getType();
        this.custom1 = original.getCustom1();
        this.custom2 = original.getCustom2();
        this.custom3 = original.getCustom3();
        this.custom4 = original.getCustom4();
        this.numberOfVolumes = original.getNumberOfVolumes();
        this.edition = original.getEdition();
        this.date = original.getDate();
        this.typeOfWork = original.getTypeOfWork();
        this.subsidiaryAuthors = original.getSubsidiaryAuthors();
        this.isbnOrIssn = original.getIsbnOrIssn();
        this.shortTitle = original.getShortTitle();
        this.custom5 = original.getCustom5();
        this.custom6 = original.getCustom6();
        this.custom7 = original.getCustom7();
        this.section = original.getSection();
        this.originalPublication = original.getOriginalPublication();
        this.reprintEdition = original.getReprintEdition();
        this.reviewedItem = original.getReviewedItem();
        this.authorAddress = original.getAuthorAddress();
        this.caption = original.getCaption();
        this.linkToPDF = original.getLinkToPDF();
        this.researchNotes = original.getResearchNotes();
        this.accessDate = original.getAccessDate();
        this.lastModifiedDate = original.getLastModifiedDate();
        this.nameOfDatabase = original.getNameOfDatabase();
    }

    public EndNoteReference build() {
        return new EndNoteReference(authors, bookOrConference, place, year, editors, label, language, translatedAuthors,
                publisher, journal, keywords, callNumber, accessionNumber, numberOrIssue, pages, translatedTitle,
                electronicResourceNumber, tertiaryTitle, title, URL, volume, databaseProvider, abstrct, tertiaryAuthors,
                notes, type, custom1, custom2, custom3, custom4, numberOfVolumes, edition, date, typeOfWork,
                subsidiaryAuthors, isbnOrIssn, shortTitle, custom5, custom6, custom7, section, originalPublication,
                reprintEdition, reviewedItem, authorAddress, caption, linkToPDF, researchNotes, accessDate,
                lastModifiedDate, nameOfDatabase);
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy