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

de.undercouch.citeproc.ris.RISReferenceBuilder Maven / Gradle / Ivy

package de.undercouch.citeproc.ris;

import java.util.Map;

/**
 * Builder for {@link RISReference}
 * 
 * @author Michel Kraemer
 */
public class RISReferenceBuilder {

    private String id;
    private RISType type;
    private String[] editors;
    private String[] tertiaryAuthors;
    private String[] subsidiaryAuthors;
    private String abstrct;
    private String authorAddress;
    private String accessionNumber;
    private String[] authors;
    private String bookOrConference;
    private String custom1;
    private String custom2;
    private String custom3;
    private String custom4;
    private String custom5;
    private String custom6;
    private String custom7;
    private String custom8;
    private String caption;
    private String callNumber;
    private String place;
    private String date;
    private String nameOfDatabase;
    private String DOI;
    private String databaseProvider;
    private String endPage;
    private String edition;
    private String issue;
    private String journal;
    private String[] keywords;
    private String[] fileAttachments;
    private String figure;
    private String language;
    private String label;
    private String number;
    private String typeOfWork;
    private String[] notes;
    private String numberOfVolumes;
    private String originalPublication;
    private String publisher;
    private String year;
    private String reviewedItem;
    private String researchNotes;
    private String reprintEdition;
    private String section;
    private String isbnOrIssn;
    private String startPage;
    private String shortTitle;
    private String primaryTitle;
    private String secondaryTitle;
    private String tertiaryTitle;
    private String[] translatedAuthors;
    private String title;
    private String translatedTitle;
    private String URL;
    private String volume;
    private String accessDate;

    public RISReferenceBuilder() {

        this.id = null;
        this.type = null;
        this.editors = null;
        this.tertiaryAuthors = null;
        this.subsidiaryAuthors = null;
        this.abstrct = null;
        this.authorAddress = null;
        this.accessionNumber = null;
        this.authors = null;
        this.bookOrConference = null;
        this.custom1 = null;
        this.custom2 = null;
        this.custom3 = null;
        this.custom4 = null;
        this.custom5 = null;
        this.custom6 = null;
        this.custom7 = null;
        this.custom8 = null;
        this.caption = null;
        this.callNumber = null;
        this.place = null;
        this.date = null;
        this.nameOfDatabase = null;
        this.DOI = null;
        this.databaseProvider = null;
        this.endPage = null;
        this.edition = null;
        this.issue = null;
        this.journal = null;
        this.keywords = null;
        this.fileAttachments = null;
        this.figure = null;
        this.language = null;
        this.label = null;
        this.number = null;
        this.typeOfWork = null;
        this.notes = null;
        this.numberOfVolumes = null;
        this.originalPublication = null;
        this.publisher = null;
        this.year = null;
        this.reviewedItem = null;
        this.researchNotes = null;
        this.reprintEdition = null;
        this.section = null;
        this.isbnOrIssn = null;
        this.startPage = null;
        this.shortTitle = null;
        this.primaryTitle = null;
        this.secondaryTitle = null;
        this.tertiaryTitle = null;
        this.translatedAuthors = null;
        this.title = null;
        this.translatedTitle = null;
        this.URL = null;
        this.volume = null;
        this.accessDate = null;

    }

    public RISReferenceBuilder id(String id) {
        this.id = id;
        return this;
    }

    public RISReferenceBuilder type(RISType type) {
        this.type = type;
        return this;
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    public RISReferenceBuilder custom8(String custom8) {
        this.custom8 = custom8;
        return this;
    }

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

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

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

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

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

    public RISReferenceBuilder DOI(String DOI) {
        this.DOI = DOI;
        return this;
    }

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

    public RISReferenceBuilder endPage(String endPage) {
        this.endPage = endPage;
        return this;
    }

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

    public RISReferenceBuilder issue(String issue) {
        this.issue = issue;
        return this;
    }

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

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

    public RISReferenceBuilder fileAttachments(String... fileAttachments) {
        this.fileAttachments = fileAttachments;
        return this;
    }

    public RISReferenceBuilder figure(String figure) {
        this.figure = figure;
        return this;
    }

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

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

    public RISReferenceBuilder number(String number) {
        this.number = number;
        return this;
    }

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

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

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

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

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

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

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

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

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

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

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

    public RISReferenceBuilder startPage(String startPage) {
        this.startPage = startPage;
        return this;
    }

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

    public RISReferenceBuilder primaryTitle(String primaryTitle) {
        this.primaryTitle = primaryTitle;
        return this;
    }

    public RISReferenceBuilder secondaryTitle(String secondaryTitle) {
        this.secondaryTitle = secondaryTitle;
        return this;
    }

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

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

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

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

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

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

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

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

        this.id = original.getId();
        this.type = original.getType();
        this.editors = original.getEditors();
        this.tertiaryAuthors = original.getTertiaryAuthors();
        this.subsidiaryAuthors = original.getSubsidiaryAuthors();
        this.abstrct = original.getAbstrct();
        this.authorAddress = original.getAuthorAddress();
        this.accessionNumber = original.getAccessionNumber();
        this.authors = original.getAuthors();
        this.bookOrConference = original.getBookOrConference();
        this.custom1 = original.getCustom1();
        this.custom2 = original.getCustom2();
        this.custom3 = original.getCustom3();
        this.custom4 = original.getCustom4();
        this.custom5 = original.getCustom5();
        this.custom6 = original.getCustom6();
        this.custom7 = original.getCustom7();
        this.custom8 = original.getCustom8();
        this.caption = original.getCaption();
        this.callNumber = original.getCallNumber();
        this.place = original.getPlace();
        this.date = original.getDate();
        this.nameOfDatabase = original.getNameOfDatabase();
        this.DOI = original.getDOI();
        this.databaseProvider = original.getDatabaseProvider();
        this.endPage = original.getEndPage();
        this.edition = original.getEdition();
        this.issue = original.getIssue();
        this.journal = original.getJournal();
        this.keywords = original.getKeywords();
        this.fileAttachments = original.getFileAttachments();
        this.figure = original.getFigure();
        this.language = original.getLanguage();
        this.label = original.getLabel();
        this.number = original.getNumber();
        this.typeOfWork = original.getTypeOfWork();
        this.notes = original.getNotes();
        this.numberOfVolumes = original.getNumberOfVolumes();
        this.originalPublication = original.getOriginalPublication();
        this.publisher = original.getPublisher();
        this.year = original.getYear();
        this.reviewedItem = original.getReviewedItem();
        this.researchNotes = original.getResearchNotes();
        this.reprintEdition = original.getReprintEdition();
        this.section = original.getSection();
        this.isbnOrIssn = original.getIsbnOrIssn();
        this.startPage = original.getStartPage();
        this.shortTitle = original.getShortTitle();
        this.primaryTitle = original.getPrimaryTitle();
        this.secondaryTitle = original.getSecondaryTitle();
        this.tertiaryTitle = original.getTertiaryTitle();
        this.translatedAuthors = original.getTranslatedAuthors();
        this.title = original.getTitle();
        this.translatedTitle = original.getTranslatedTitle();
        this.URL = original.getURL();
        this.volume = original.getVolume();
        this.accessDate = original.getAccessDate();
    }

    public RISReference build() {
        return new RISReference(id, type, editors, tertiaryAuthors, subsidiaryAuthors, abstrct, authorAddress,
                accessionNumber, authors, bookOrConference, custom1, custom2, custom3, custom4, custom5, custom6,
                custom7, custom8, caption, callNumber, place, date, nameOfDatabase, DOI, databaseProvider, endPage,
                edition, issue, journal, keywords, fileAttachments, figure, language, label, number, typeOfWork, notes,
                numberOfVolumes, originalPublication, publisher, year, reviewedItem, researchNotes, reprintEdition,
                section, isbnOrIssn, startPage, shortTitle, primaryTitle, secondaryTitle, tertiaryTitle,
                translatedAuthors, title, translatedTitle, URL, volume, accessDate);
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy