OcDublinCoreBuilder.java
/*
* Licensed to The Apereo Foundation under one or more contributor license
* agreements. See the NOTICE file distributed with this work for additional
* information regarding copyright ownership.
*
*
* The Apereo Foundation licenses this file to you under the Educational
* Community License, Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of the License
* at:
*
* http://opensource.org/licenses/ecl2.txt
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*
*/
package org.opencastproject.schema;
import java.util.Date;
import java.util.Optional;
/** Mutable builder for {@link org.opencastproject.schema.OcDublinCore}. */
public class OcDublinCoreBuilder implements OcDublinCore {
protected Optional<String> abstrakt = Optional.empty();
protected Optional<String> accessRights = Optional.empty();
protected Optional<String> accrualMethod = Optional.empty();
protected Optional<String> accrualPeriodicity = Optional.empty();
protected Optional<String> accrualPolicy = Optional.empty();
protected Optional<String> alternative = Optional.empty();
protected Optional<String> audience = Optional.empty();
protected Optional<String> available = Optional.empty();
protected Optional<String> bibliographicCitation = Optional.empty();
protected Optional<String> conformsTo = Optional.empty();
protected Optional<String> contributor = Optional.empty();
protected Optional<String> coverage = Optional.empty();
protected Optional<Date> created = Optional.empty();
protected Optional<String> creator = Optional.empty();
protected Optional<Date> date = Optional.empty();
protected Optional<Date> dateAccepted = Optional.empty();
protected Optional<Date> dateCopyrighted = Optional.empty();
protected Optional<Date> dateSubmitted = Optional.empty();
protected Optional<String> description = Optional.empty();
protected Optional<String> educationLevel = Optional.empty();
protected Optional<Long> extent = Optional.empty();
protected Optional<String> format = Optional.empty();
protected Optional<String> hasFormat = Optional.empty();
protected Optional<String> hasPart = Optional.empty();
protected Optional<String> hasVersion = Optional.empty();
protected Optional<String> identifier = Optional.empty();
protected Optional<String> instructionalMethod = Optional.empty();
protected Optional<String> isFormatOf = Optional.empty();
protected Optional<String> isPartOf = Optional.empty();
protected Optional<String> isReferencedBy = Optional.empty();
protected Optional<String> isReplacedBy = Optional.empty();
protected Optional<String> isRequiredBy = Optional.empty();
protected Optional<String> issued = Optional.empty();
protected Optional<String> isVersionOf = Optional.empty();
protected Optional<String> language = Optional.empty();
protected Optional<String> license = Optional.empty();
protected Optional<String> mediator = Optional.empty();
protected Optional<String> medium = Optional.empty();
protected Optional<String> modified = Optional.empty();
protected Optional<String> provenance = Optional.empty();
protected Optional<String> publisher = Optional.empty();
protected Optional<String> references = Optional.empty();
protected Optional<String> relation = Optional.empty();
protected Optional<String> replaces = Optional.empty();
protected Optional<String> requires = Optional.empty();
protected Optional<String> rights = Optional.empty();
protected Optional<String> rightsHolder = Optional.empty();
protected Optional<String> source = Optional.empty();
protected Optional<String> spatial = Optional.empty();
protected Optional<String> subject = Optional.empty();
protected Optional<String> tableOfContents = Optional.empty();
protected Optional<String> temporal = Optional.empty();
protected Optional<String> title = Optional.empty();
protected Optional<String> type = Optional.empty();
protected Optional<String> valid = Optional.empty();
public static OcDublinCoreBuilder create(final OcDublinCore source) {
// traditional copy here: completeness is checked in the corresponding unit test by means of the transfer idiom
final OcDublinCoreBuilder target = new OcDublinCoreBuilder();
target.abstrakt = source.getAbstract();
target.accessRights = source.getAccessRights();
target.accrualMethod = source.getAccrualMethod();
target.accrualPeriodicity = source.getAccrualPeriodicity();
target.accrualPolicy = source.getAccrualPolicy();
target.alternative = source.getAlternative();
target.audience = source.getAudience();
target.available = source.getAvailable();
target.bibliographicCitation = source.getBibliographicCitation();
target.conformsTo = source.getConformsTo();
target.contributor = source.getContributor();
target.coverage = source.getCoverage();
target.created = Optional.of(source.getCreated());
target.creator = source.getCreator();
target.date = source.getDate();
target.dateAccepted = source.getDateAccepted();
target.dateCopyrighted = source.getDateCopyrighted();
target.dateSubmitted = source.getDateSubmitted();
target.description = source.getDescription();
target.educationLevel = source.getEducationLevel();
target.extent = source.getExtent();
target.format = source.getFormat();
target.hasFormat = source.getHasFormat();
target.hasPart = source.getHasPart();
target.hasVersion = source.getHasVersion();
target.identifier = source.getIdentifier();
target.instructionalMethod = source.getInstructionalMethod();
target.isFormatOf = source.getIsFormatOf();
target.isPartOf = source.getIsPartOf();
target.isReferencedBy = source.getIsReferencedBy();
target.isReplacedBy = source.getIsReplacedBy();
target.isRequiredBy = source.getIsRequiredBy();
target.issued = source.getIssued();
target.isVersionOf = source.getIsVersionOf();
target.language = source.getLanguage();
target.license = source.getLicense();
target.mediator = source.getMediator();
target.medium = source.getMedium();
target.modified = source.getModified();
target.provenance = source.getProvenance();
target.publisher = source.getPublisher();
target.references = source.getReferences();
target.relation = source.getRelation();
target.replaces = source.getReplaces();
target.requires = source.getRequires();
target.rights = source.getRights();
target.rightsHolder = source.getRightsHolder();
target.source = source.getSource();
target.spatial = source.getSpatial();
target.subject = source.getSubject();
target.tableOfContents = source.getTableOfContents();
target.temporal = source.getTemporal();
target.title = Optional.of(source.getTitle());
target.type = source.getType();
target.valid = source.getValid();
return target;
}
public OcDublinCoreBuilder setAbstract(Optional<String> a) {
this.abstrakt = a;
return this;
}
public OcDublinCoreBuilder setAccessRights(Optional<String> a) {
this.accessRights = a;
return this;
}
public OcDublinCoreBuilder setAccrualMethod(Optional<String> a) {
this.accrualMethod = a;
return this;
}
public OcDublinCoreBuilder setAccrualPeriodicity(Optional<String> a) {
this.accrualPeriodicity = a;
return this;
}
public OcDublinCoreBuilder setAccrualPolicy(Optional<String> a) {
this.accrualPolicy = a;
return this;
}
public OcDublinCoreBuilder setAlternative(Optional<String> a) {
this.alternative = a;
return this;
}
public OcDublinCoreBuilder setAudience(Optional<String> a) {
this.audience = a;
return this;
}
public OcDublinCoreBuilder setAvailable(Optional<String> a) {
this.available = a;
return this;
}
public OcDublinCoreBuilder setBibliographicCitation(Optional<String> a) {
this.bibliographicCitation = a;
return this;
}
public OcDublinCoreBuilder setConformsTo(Optional<String> a) {
this.conformsTo = a;
return this;
}
public OcDublinCoreBuilder setContributor(Optional<String> a) {
this.contributor = a;
return this;
}
public OcDublinCoreBuilder setCoverage(Optional<String> a) {
this.coverage = a;
return this;
}
public OcDublinCoreBuilder setCreated(Optional<Date> a) {
this.created = a;
return this;
}
public OcDublinCoreBuilder setCreator(Optional<String> a) {
this.creator = a;
return this;
}
public OcDublinCoreBuilder setDate(Optional<Date> a) {
this.date = a;
return this;
}
public OcDublinCoreBuilder setDateAccepted(Optional<Date> a) {
this.dateAccepted = a;
return this;
}
public OcDublinCoreBuilder setDateCopyrighted(Optional<Date> a) {
this.dateCopyrighted = a;
return this;
}
public OcDublinCoreBuilder setDateSubmitted(Optional<Date> a) {
this.dateSubmitted = a;
return this;
}
public OcDublinCoreBuilder setDescription(Optional<String> a) {
this.description = a;
return this;
}
public OcDublinCoreBuilder setEducationLevel(Optional<String> a) {
this.educationLevel = a;
return this;
}
public OcDublinCoreBuilder setExtent(Optional<Long> a) {
this.extent = a;
return this;
}
public OcDublinCoreBuilder setFormat(Optional<String> a) {
this.format = a;
return this;
}
public OcDublinCoreBuilder setHasFormat(Optional<String> a) {
this.hasFormat = a;
return this;
}
public OcDublinCoreBuilder setHasPart(Optional<String> a) {
this.hasPart = a;
return this;
}
public OcDublinCoreBuilder setHasVersion(Optional<String> a) {
this.hasVersion = a;
return this;
}
public OcDublinCoreBuilder setIdentifier(Optional<String> a) {
this.identifier = a;
return this;
}
public OcDublinCoreBuilder setInstructionalMethod(Optional<String> a) {
this.instructionalMethod = a;
return this;
}
public OcDublinCoreBuilder setIsFormatOf(Optional<String> a) {
this.isFormatOf = a;
return this;
}
public OcDublinCoreBuilder setIsPartOf(Optional<String> a) {
this.isPartOf = a;
return this;
}
public OcDublinCoreBuilder setIsReferencedBy(Optional<String> a) {
this.isReferencedBy = a;
return this;
}
public OcDublinCoreBuilder setIsReplacedBy(Optional<String> a) {
this.isReplacedBy = a;
return this;
}
public OcDublinCoreBuilder setIsRequiredBy(Optional<String> a) {
this.isRequiredBy = a;
return this;
}
public OcDublinCoreBuilder setIssued(Optional<String> a) {
this.issued = a;
return this;
}
public OcDublinCoreBuilder setIsVersionOf(Optional<String> a) {
this.isVersionOf = a;
return this;
}
public OcDublinCoreBuilder setLanguage(Optional<String> a) {
this.language = a;
return this;
}
public OcDublinCoreBuilder setLicense(Optional<String> a) {
this.license = a;
return this;
}
public OcDublinCoreBuilder setMediator(Optional<String> a) {
this.mediator = a;
return this;
}
public OcDublinCoreBuilder setMedium(Optional<String> a) {
this.medium = a;
return this;
}
public OcDublinCoreBuilder setModified(Optional<String> a) {
this.modified = a;
return this;
}
public OcDublinCoreBuilder setProvenance(Optional<String> a) {
this.provenance = a;
return this;
}
public OcDublinCoreBuilder setPublisher(Optional<String> a) {
this.publisher = a;
return this;
}
public OcDublinCoreBuilder setReferences(Optional<String> a) {
this.references = a;
return this;
}
public OcDublinCoreBuilder setRelation(Optional<String> a) {
this.relation = a;
return this;
}
public OcDublinCoreBuilder setReplaces(Optional<String> a) {
this.replaces = a;
return this;
}
public OcDublinCoreBuilder setRequires(Optional<String> a) {
this.requires = a;
return this;
}
public OcDublinCoreBuilder setRights(Optional<String> a) {
this.rights = a;
return this;
}
public OcDublinCoreBuilder setRightsHolder(Optional<String> a) {
this.rightsHolder = a;
return this;
}
public OcDublinCoreBuilder setSource(Optional<String> a) {
this.source = a;
return this;
}
public OcDublinCoreBuilder setSpatial(Optional<String> a) {
this.spatial = a;
return this;
}
public OcDublinCoreBuilder setSubject(Optional<String> a) {
this.subject = a;
return this;
}
public OcDublinCoreBuilder setTableOfContents(Optional<String> a) {
this.tableOfContents = a;
return this;
}
public OcDublinCoreBuilder setTemporal(Optional<String> a) {
this.temporal = a;
return this;
}
public OcDublinCoreBuilder setTitle(Optional<String> a) {
this.title = a;
return this;
}
public OcDublinCoreBuilder setType(Optional<String> a) {
this.type = a;
return this;
}
public OcDublinCoreBuilder setValid(Optional<String> a) {
this.valid = a;
return this;
}
public OcDublinCoreBuilder setAbstract(String a) {
this.abstrakt = Optional.of(a);
return this;
}
public OcDublinCoreBuilder setAccessRights(String a) {
this.accessRights = Optional.of(a);
return this;
}
public OcDublinCoreBuilder setAccrualMethod(String a) {
this.accrualMethod = Optional.of(a);
return this;
}
public OcDublinCoreBuilder setAccrualPeriodicity(String a) {
this.accrualPeriodicity = Optional.of(a);
return this;
}
public OcDublinCoreBuilder setAccrualPolicy(String a) {
this.accrualPolicy = Optional.of(a);
return this;
}
public OcDublinCoreBuilder setAlternative(String a) {
this.alternative = Optional.of(a);
return this;
}
public OcDublinCoreBuilder setAudience(String a) {
this.audience = Optional.of(a);
return this;
}
public OcDublinCoreBuilder setAvailable(String a) {
this.available = Optional.of(a);
return this;
}
public OcDublinCoreBuilder setBibliographicCitation(String a) {
this.bibliographicCitation = Optional.of(a);
return this;
}
public OcDublinCoreBuilder setConformsTo(String a) {
this.conformsTo = Optional.of(a);
return this;
}
public OcDublinCoreBuilder setContributor(String a) {
this.contributor = Optional.of(a);
return this;
}
public OcDublinCoreBuilder setCoverage(String a) {
this.coverage = Optional.of(a);
return this;
}
public OcDublinCoreBuilder setCreated(Date a) {
this.created = Optional.of(a);
return this;
}
public OcDublinCoreBuilder setCreator(String a) {
this.creator = Optional.of(a);
return this;
}
public OcDublinCoreBuilder setDate(Date a) {
this.date = Optional.of(a);
return this;
}
public OcDublinCoreBuilder setDateAccepted(Date a) {
this.dateAccepted = Optional.of(a);
return this;
}
public OcDublinCoreBuilder setDateCopyrighted(Date a) {
this.dateCopyrighted = Optional.of(a);
return this;
}
public OcDublinCoreBuilder setDateSubmitted(Date a) {
this.dateSubmitted = Optional.of(a);
return this;
}
public OcDublinCoreBuilder setDescription(String a) {
this.description = Optional.of(a);
return this;
}
public OcDublinCoreBuilder setEducationLevel(String a) {
this.educationLevel = Optional.of(a);
return this;
}
public OcDublinCoreBuilder setExtent(Long a) {
this.extent = Optional.of(a);
return this;
}
public OcDublinCoreBuilder setFormat(String a) {
this.format = Optional.of(a);
return this;
}
public OcDublinCoreBuilder setHasFormat(String a) {
this.hasFormat = Optional.of(a);
return this;
}
public OcDublinCoreBuilder setHasPart(String a) {
this.hasPart = Optional.of(a);
return this;
}
public OcDublinCoreBuilder setHasVersion(String a) {
this.hasVersion = Optional.of(a);
return this;
}
public OcDublinCoreBuilder setIdentifier(String a) {
this.identifier = Optional.of(a);
return this;
}
public OcDublinCoreBuilder setInstructionalMethod(String a) {
this.instructionalMethod = Optional.of(a);
return this;
}
public OcDublinCoreBuilder setIsFormatOf(String a) {
this.isFormatOf = Optional.of(a);
return this;
}
public OcDublinCoreBuilder setIsPartOf(String a) {
this.isPartOf = Optional.of(a);
return this;
}
public OcDublinCoreBuilder setIsReferencedBy(String a) {
this.isReferencedBy = Optional.of(a);
return this;
}
public OcDublinCoreBuilder setIsReplacedBy(String a) {
this.isReplacedBy = Optional.of(a);
return this;
}
public OcDublinCoreBuilder setIsRequiredBy(String a) {
this.isRequiredBy = Optional.of(a);
return this;
}
public OcDublinCoreBuilder setIssued(String a) {
this.issued = Optional.of(a);
return this;
}
public OcDublinCoreBuilder setIsVersionOf(String a) {
this.isVersionOf = Optional.of(a);
return this;
}
public OcDublinCoreBuilder setLanguage(String a) {
this.language = Optional.of(a);
return this;
}
public OcDublinCoreBuilder setLicense(String a) {
this.license = Optional.of(a);
return this;
}
public OcDublinCoreBuilder setMediator(String a) {
this.mediator = Optional.of(a);
return this;
}
public OcDublinCoreBuilder setMedium(String a) {
this.medium = Optional.of(a);
return this;
}
public OcDublinCoreBuilder setModified(String a) {
this.modified = Optional.of(a);
return this;
}
public OcDublinCoreBuilder setProvenance(String a) {
this.provenance = Optional.of(a);
return this;
}
public OcDublinCoreBuilder setPublisher(String a) {
this.publisher = Optional.of(a);
return this;
}
public OcDublinCoreBuilder setReferences(String a) {
this.references = Optional.of(a);
return this;
}
public OcDublinCoreBuilder setRelation(String a) {
this.relation = Optional.of(a);
return this;
}
public OcDublinCoreBuilder setReplaces(String a) {
this.replaces = Optional.of(a);
return this;
}
public OcDublinCoreBuilder setRequires(String a) {
this.requires = Optional.of(a);
return this;
}
public OcDublinCoreBuilder setRights(String a) {
this.rights = Optional.of(a);
return this;
}
public OcDublinCoreBuilder setRightsHolder(String a) {
this.rightsHolder = Optional.of(a);
return this;
}
public OcDublinCoreBuilder setSource(String a) {
this.source = Optional.of(a);
return this;
}
public OcDublinCoreBuilder setSpatial(String a) {
this.spatial = Optional.of(a);
return this;
}
public OcDublinCoreBuilder setSubject(String a) {
this.subject = Optional.of(a);
return this;
}
public OcDublinCoreBuilder setTableOfContents(String a) {
this.tableOfContents = Optional.of(a);
return this;
}
public OcDublinCoreBuilder setTemporal(String a) {
this.temporal = Optional.of(a);
return this;
}
public OcDublinCoreBuilder setTitle(String a) {
this.title = Optional.of(a);
return this;
}
public OcDublinCoreBuilder setType(String a) {
this.type = Optional.of(a);
return this;
}
public OcDublinCoreBuilder setValid(String a) {
this.valid = Optional.of(a);
return this;
}
@Override public Optional<String> getAbstract() {
return abstrakt;
}
@Override public Optional<String> getAccessRights() {
return accessRights;
}
@Override public Optional<String> getAccrualMethod() {
return accrualMethod;
}
@Override public Optional<String> getAccrualPeriodicity() {
return accrualPeriodicity;
}
@Override public Optional<String> getAccrualPolicy() {
return accrualPolicy;
}
@Override public Optional<String> getAlternative() {
return alternative;
}
@Override public Optional<String> getAudience() {
return audience;
}
@Override public Optional<String> getAvailable() {
return available;
}
@Override public Optional<String> getBibliographicCitation() {
return bibliographicCitation;
}
@Override public Optional<String> getConformsTo() {
return conformsTo;
}
@Override public Optional<String> getContributor() {
return contributor;
}
@Override public Optional<String> getCoverage() {
return coverage;
}
@Override public Date getCreated() {
return created.orElseThrow(() -> new Error("created not set"));
}
@Override public Optional<String> getCreator() {
return creator;
}
@Override public Optional<Date> getDate() {
return date;
}
@Override public Optional<Date> getDateAccepted() {
return dateAccepted;
}
@Override public Optional<Date> getDateCopyrighted() {
return dateCopyrighted;
}
@Override public Optional<Date> getDateSubmitted() {
return dateSubmitted;
}
@Override public Optional<String> getDescription() {
return description;
}
@Override public Optional<String> getEducationLevel() {
return educationLevel;
}
@Override public Optional<Long> getExtent() {
return extent;
}
@Override public Optional<String> getFormat() {
return format;
}
@Override public Optional<String> getHasFormat() {
return hasFormat;
}
@Override public Optional<String> getHasPart() {
return hasPart;
}
@Override public Optional<String> getHasVersion() {
return hasVersion;
}
@Override public Optional<String> getIdentifier() {
return identifier;
}
@Override public Optional<String> getInstructionalMethod() {
return instructionalMethod;
}
@Override public Optional<String> getIsFormatOf() {
return isFormatOf;
}
@Override public Optional<String> getIsPartOf() {
return isPartOf;
}
@Override public Optional<String> getIsReferencedBy() {
return isReferencedBy;
}
@Override public Optional<String> getIsReplacedBy() {
return isReplacedBy;
}
@Override public Optional<String> getIsRequiredBy() {
return isRequiredBy;
}
@Override public Optional<String> getIssued() {
return issued;
}
@Override public Optional<String> getIsVersionOf() {
return isVersionOf;
}
@Override public Optional<String> getLanguage() {
return language;
}
@Override public Optional<String> getLicense() {
return license;
}
@Override public Optional<String> getMediator() {
return mediator;
}
@Override public Optional<String> getMedium() {
return medium;
}
@Override public Optional<String> getModified() {
return modified;
}
@Override public Optional<String> getProvenance() {
return provenance;
}
@Override public Optional<String> getPublisher() {
return publisher;
}
@Override public Optional<String> getReferences() {
return references;
}
@Override public Optional<String> getRelation() {
return relation;
}
@Override public Optional<String> getReplaces() {
return replaces;
}
@Override public Optional<String> getRequires() {
return requires;
}
@Override public Optional<String> getRights() {
return rights;
}
@Override public Optional<String> getRightsHolder() {
return rightsHolder;
}
@Override public Optional<String> getSource() {
return source;
}
@Override public Optional<String> getSpatial() {
return spatial;
}
@Override public Optional<String> getSubject() {
return subject;
}
@Override public Optional<String> getTableOfContents() {
return tableOfContents;
}
@Override public Optional<String> getTemporal() {
return temporal;
}
@Override public String getTitle() {
return title.orElseThrow(() -> new Error("title not set"));
}
@Override public Optional<String> getType() {
return type;
}
@Override public Optional<String> getValid() {
return valid;
}
}