View Javadoc
1   /*
2    * Licensed to The Apereo Foundation under one or more contributor license
3    * agreements. See the NOTICE file distributed with this work for additional
4    * information regarding copyright ownership.
5    *
6    *
7    * The Apereo Foundation licenses this file to you under the Educational
8    * Community License, Version 2.0 (the "License"); you may not use this file
9    * except in compliance with the License. You may obtain a copy of the License
10   * at:
11   *
12   *   http://opensource.org/licenses/ecl2.txt
13   *
14   * Unless required by applicable law or agreed to in writing, software
15   * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
16   * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
17   * License for the specific language governing permissions and limitations under
18   * the License.
19   *
20   */
21  
22  package org.opencastproject.schema;
23  
24  import java.util.Date;
25  import java.util.Optional;
26  
27  /** Mutable builder for {@link org.opencastproject.schema.OcDublinCore}. */
28  public class OcDublinCoreBuilder implements OcDublinCore {
29    protected Optional<String> abstrakt = Optional.empty();
30    protected Optional<String> accessRights = Optional.empty();
31    protected Optional<String> accrualMethod = Optional.empty();
32    protected Optional<String> accrualPeriodicity = Optional.empty();
33    protected Optional<String> accrualPolicy = Optional.empty();
34    protected Optional<String> alternative = Optional.empty();
35    protected Optional<String> audience = Optional.empty();
36    protected Optional<String> available = Optional.empty();
37    protected Optional<String> bibliographicCitation = Optional.empty();
38    protected Optional<String> conformsTo = Optional.empty();
39    protected Optional<String> contributor = Optional.empty();
40    protected Optional<String> coverage = Optional.empty();
41    protected Optional<Date> created = Optional.empty();
42    protected Optional<String> creator = Optional.empty();
43    protected Optional<Date> date = Optional.empty();
44    protected Optional<Date> dateAccepted = Optional.empty();
45    protected Optional<Date> dateCopyrighted = Optional.empty();
46    protected Optional<Date> dateSubmitted = Optional.empty();
47    protected Optional<String> description = Optional.empty();
48    protected Optional<String> educationLevel = Optional.empty();
49    protected Optional<Long> extent = Optional.empty();
50    protected Optional<String> format = Optional.empty();
51    protected Optional<String> hasFormat = Optional.empty();
52    protected Optional<String> hasPart = Optional.empty();
53    protected Optional<String> hasVersion = Optional.empty();
54    protected Optional<String> identifier = Optional.empty();
55    protected Optional<String> instructionalMethod = Optional.empty();
56    protected Optional<String> isFormatOf = Optional.empty();
57    protected Optional<String> isPartOf = Optional.empty();
58    protected Optional<String> isReferencedBy = Optional.empty();
59    protected Optional<String> isReplacedBy = Optional.empty();
60    protected Optional<String> isRequiredBy = Optional.empty();
61    protected Optional<String> issued = Optional.empty();
62    protected Optional<String> isVersionOf = Optional.empty();
63    protected Optional<String> language = Optional.empty();
64    protected Optional<String> license = Optional.empty();
65    protected Optional<String> mediator = Optional.empty();
66    protected Optional<String> medium = Optional.empty();
67    protected Optional<String> modified = Optional.empty();
68    protected Optional<String> provenance = Optional.empty();
69    protected Optional<String> publisher = Optional.empty();
70    protected Optional<String> references = Optional.empty();
71    protected Optional<String> relation = Optional.empty();
72    protected Optional<String> replaces = Optional.empty();
73    protected Optional<String> requires = Optional.empty();
74    protected Optional<String> rights = Optional.empty();
75    protected Optional<String> rightsHolder = Optional.empty();
76    protected Optional<String> source = Optional.empty();
77    protected Optional<String> spatial = Optional.empty();
78    protected Optional<String> subject = Optional.empty();
79    protected Optional<String> tableOfContents = Optional.empty();
80    protected Optional<String> temporal = Optional.empty();
81    protected Optional<String> title = Optional.empty();
82    protected Optional<String> type = Optional.empty();
83    protected Optional<String> valid = Optional.empty();
84  
85    public static OcDublinCoreBuilder create(final OcDublinCore source) {
86      // traditional copy here: completeness is checked in the corresponding unit test by means of the transfer idiom
87      final OcDublinCoreBuilder target = new OcDublinCoreBuilder();
88      target.abstrakt = source.getAbstract();
89      target.accessRights = source.getAccessRights();
90      target.accrualMethod = source.getAccrualMethod();
91      target.accrualPeriodicity = source.getAccrualPeriodicity();
92      target.accrualPolicy = source.getAccrualPolicy();
93      target.alternative = source.getAlternative();
94      target.audience = source.getAudience();
95      target.available = source.getAvailable();
96      target.bibliographicCitation = source.getBibliographicCitation();
97      target.conformsTo = source.getConformsTo();
98      target.contributor = source.getContributor();
99      target.coverage = source.getCoverage();
100     target.created = Optional.of(source.getCreated());
101     target.creator = source.getCreator();
102     target.date = source.getDate();
103     target.dateAccepted = source.getDateAccepted();
104     target.dateCopyrighted = source.getDateCopyrighted();
105     target.dateSubmitted = source.getDateSubmitted();
106     target.description = source.getDescription();
107     target.educationLevel = source.getEducationLevel();
108     target.extent = source.getExtent();
109     target.format = source.getFormat();
110     target.hasFormat = source.getHasFormat();
111     target.hasPart = source.getHasPart();
112     target.hasVersion = source.getHasVersion();
113     target.identifier = source.getIdentifier();
114     target.instructionalMethod = source.getInstructionalMethod();
115     target.isFormatOf = source.getIsFormatOf();
116     target.isPartOf = source.getIsPartOf();
117     target.isReferencedBy = source.getIsReferencedBy();
118     target.isReplacedBy = source.getIsReplacedBy();
119     target.isRequiredBy = source.getIsRequiredBy();
120     target.issued = source.getIssued();
121     target.isVersionOf = source.getIsVersionOf();
122     target.language = source.getLanguage();
123     target.license = source.getLicense();
124     target.mediator = source.getMediator();
125     target.medium = source.getMedium();
126     target.modified = source.getModified();
127     target.provenance = source.getProvenance();
128     target.publisher = source.getPublisher();
129     target.references = source.getReferences();
130     target.relation = source.getRelation();
131     target.replaces = source.getReplaces();
132     target.requires = source.getRequires();
133     target.rights = source.getRights();
134     target.rightsHolder = source.getRightsHolder();
135     target.source = source.getSource();
136     target.spatial = source.getSpatial();
137     target.subject = source.getSubject();
138     target.tableOfContents = source.getTableOfContents();
139     target.temporal = source.getTemporal();
140     target.title = Optional.of(source.getTitle());
141     target.type = source.getType();
142     target.valid = source.getValid();
143     return target;
144   }
145 
146   public OcDublinCoreBuilder setAbstract(Optional<String> a) {
147     this.abstrakt = a;
148     return this;
149   }
150 
151   public OcDublinCoreBuilder setAccessRights(Optional<String> a) {
152     this.accessRights = a;
153     return this;
154   }
155 
156   public OcDublinCoreBuilder setAccrualMethod(Optional<String> a) {
157     this.accrualMethod = a;
158     return this;
159   }
160 
161   public OcDublinCoreBuilder setAccrualPeriodicity(Optional<String> a) {
162     this.accrualPeriodicity = a;
163     return this;
164   }
165 
166   public OcDublinCoreBuilder setAccrualPolicy(Optional<String> a) {
167     this.accrualPolicy = a;
168     return this;
169   }
170 
171   public OcDublinCoreBuilder setAlternative(Optional<String> a) {
172     this.alternative = a;
173     return this;
174   }
175 
176   public OcDublinCoreBuilder setAudience(Optional<String> a) {
177     this.audience = a;
178     return this;
179   }
180 
181   public OcDublinCoreBuilder setAvailable(Optional<String> a) {
182     this.available = a;
183     return this;
184   }
185 
186   public OcDublinCoreBuilder setBibliographicCitation(Optional<String> a) {
187     this.bibliographicCitation = a;
188     return this;
189   }
190 
191   public OcDublinCoreBuilder setConformsTo(Optional<String> a) {
192     this.conformsTo = a;
193     return this;
194   }
195 
196   public OcDublinCoreBuilder setContributor(Optional<String> a) {
197     this.contributor = a;
198     return this;
199   }
200 
201   public OcDublinCoreBuilder setCoverage(Optional<String> a) {
202     this.coverage = a;
203     return this;
204   }
205 
206   public OcDublinCoreBuilder setCreated(Optional<Date> a) {
207     this.created = a;
208     return this;
209   }
210 
211   public OcDublinCoreBuilder setCreator(Optional<String> a) {
212     this.creator = a;
213     return this;
214   }
215 
216   public OcDublinCoreBuilder setDate(Optional<Date> a) {
217     this.date = a;
218     return this;
219   }
220 
221   public OcDublinCoreBuilder setDateAccepted(Optional<Date> a) {
222     this.dateAccepted = a;
223     return this;
224   }
225 
226   public OcDublinCoreBuilder setDateCopyrighted(Optional<Date> a) {
227     this.dateCopyrighted = a;
228     return this;
229   }
230 
231   public OcDublinCoreBuilder setDateSubmitted(Optional<Date> a) {
232     this.dateSubmitted = a;
233     return this;
234   }
235 
236   public OcDublinCoreBuilder setDescription(Optional<String> a) {
237     this.description = a;
238     return this;
239   }
240 
241   public OcDublinCoreBuilder setEducationLevel(Optional<String> a) {
242     this.educationLevel = a;
243     return this;
244   }
245 
246   public OcDublinCoreBuilder setExtent(Optional<Long> a) {
247     this.extent = a;
248     return this;
249   }
250 
251   public OcDublinCoreBuilder setFormat(Optional<String> a) {
252     this.format = a;
253     return this;
254   }
255 
256   public OcDublinCoreBuilder setHasFormat(Optional<String> a) {
257     this.hasFormat = a;
258     return this;
259   }
260 
261   public OcDublinCoreBuilder setHasPart(Optional<String> a) {
262     this.hasPart = a;
263     return this;
264   }
265 
266   public OcDublinCoreBuilder setHasVersion(Optional<String> a) {
267     this.hasVersion = a;
268     return this;
269   }
270 
271   public OcDublinCoreBuilder setIdentifier(Optional<String> a) {
272     this.identifier = a;
273     return this;
274   }
275 
276   public OcDublinCoreBuilder setInstructionalMethod(Optional<String> a) {
277     this.instructionalMethod = a;
278     return this;
279   }
280 
281   public OcDublinCoreBuilder setIsFormatOf(Optional<String> a) {
282     this.isFormatOf = a;
283     return this;
284   }
285 
286   public OcDublinCoreBuilder setIsPartOf(Optional<String> a) {
287     this.isPartOf = a;
288     return this;
289   }
290 
291   public OcDublinCoreBuilder setIsReferencedBy(Optional<String> a) {
292     this.isReferencedBy = a;
293     return this;
294   }
295 
296   public OcDublinCoreBuilder setIsReplacedBy(Optional<String> a) {
297     this.isReplacedBy = a;
298     return this;
299   }
300 
301   public OcDublinCoreBuilder setIsRequiredBy(Optional<String> a) {
302     this.isRequiredBy = a;
303     return this;
304   }
305 
306   public OcDublinCoreBuilder setIssued(Optional<String> a) {
307     this.issued = a;
308     return this;
309   }
310 
311   public OcDublinCoreBuilder setIsVersionOf(Optional<String> a) {
312     this.isVersionOf = a;
313     return this;
314   }
315 
316   public OcDublinCoreBuilder setLanguage(Optional<String> a) {
317     this.language = a;
318     return this;
319   }
320 
321   public OcDublinCoreBuilder setLicense(Optional<String> a) {
322     this.license = a;
323     return this;
324   }
325 
326   public OcDublinCoreBuilder setMediator(Optional<String> a) {
327     this.mediator = a;
328     return this;
329   }
330 
331   public OcDublinCoreBuilder setMedium(Optional<String> a) {
332     this.medium = a;
333     return this;
334   }
335 
336   public OcDublinCoreBuilder setModified(Optional<String> a) {
337     this.modified = a;
338     return this;
339   }
340 
341   public OcDublinCoreBuilder setProvenance(Optional<String> a) {
342     this.provenance = a;
343     return this;
344   }
345 
346   public OcDublinCoreBuilder setPublisher(Optional<String> a) {
347     this.publisher = a;
348     return this;
349   }
350 
351   public OcDublinCoreBuilder setReferences(Optional<String> a) {
352     this.references = a;
353     return this;
354   }
355 
356   public OcDublinCoreBuilder setRelation(Optional<String> a) {
357     this.relation = a;
358     return this;
359   }
360 
361   public OcDublinCoreBuilder setReplaces(Optional<String> a) {
362     this.replaces = a;
363     return this;
364   }
365 
366   public OcDublinCoreBuilder setRequires(Optional<String> a) {
367     this.requires = a;
368     return this;
369   }
370 
371   public OcDublinCoreBuilder setRights(Optional<String> a) {
372     this.rights = a;
373     return this;
374   }
375 
376   public OcDublinCoreBuilder setRightsHolder(Optional<String> a) {
377     this.rightsHolder = a;
378     return this;
379   }
380 
381   public OcDublinCoreBuilder setSource(Optional<String> a) {
382     this.source = a;
383     return this;
384   }
385 
386   public OcDublinCoreBuilder setSpatial(Optional<String> a) {
387     this.spatial = a;
388     return this;
389   }
390 
391   public OcDublinCoreBuilder setSubject(Optional<String> a) {
392     this.subject = a;
393     return this;
394   }
395 
396   public OcDublinCoreBuilder setTableOfContents(Optional<String> a) {
397     this.tableOfContents = a;
398     return this;
399   }
400 
401   public OcDublinCoreBuilder setTemporal(Optional<String> a) {
402     this.temporal = a;
403     return this;
404   }
405 
406   public OcDublinCoreBuilder setTitle(Optional<String> a) {
407     this.title = a;
408     return this;
409   }
410 
411   public OcDublinCoreBuilder setType(Optional<String> a) {
412     this.type = a;
413     return this;
414   }
415 
416   public OcDublinCoreBuilder setValid(Optional<String> a) {
417     this.valid = a;
418     return this;
419   }
420 
421   public OcDublinCoreBuilder setAbstract(String a) {
422     this.abstrakt = Optional.of(a);
423     return this;
424   }
425 
426   public OcDublinCoreBuilder setAccessRights(String a) {
427     this.accessRights = Optional.of(a);
428     return this;
429   }
430 
431   public OcDublinCoreBuilder setAccrualMethod(String a) {
432     this.accrualMethod = Optional.of(a);
433     return this;
434   }
435 
436   public OcDublinCoreBuilder setAccrualPeriodicity(String a) {
437     this.accrualPeriodicity = Optional.of(a);
438     return this;
439   }
440 
441   public OcDublinCoreBuilder setAccrualPolicy(String a) {
442     this.accrualPolicy = Optional.of(a);
443     return this;
444   }
445 
446   public OcDublinCoreBuilder setAlternative(String a) {
447     this.alternative = Optional.of(a);
448     return this;
449   }
450 
451   public OcDublinCoreBuilder setAudience(String a) {
452     this.audience = Optional.of(a);
453     return this;
454   }
455 
456   public OcDublinCoreBuilder setAvailable(String a) {
457     this.available = Optional.of(a);
458     return this;
459   }
460 
461   public OcDublinCoreBuilder setBibliographicCitation(String a) {
462     this.bibliographicCitation = Optional.of(a);
463     return this;
464   }
465 
466   public OcDublinCoreBuilder setConformsTo(String a) {
467     this.conformsTo = Optional.of(a);
468     return this;
469   }
470 
471   public OcDublinCoreBuilder setContributor(String a) {
472     this.contributor = Optional.of(a);
473     return this;
474   }
475 
476   public OcDublinCoreBuilder setCoverage(String a) {
477     this.coverage = Optional.of(a);
478     return this;
479   }
480 
481   public OcDublinCoreBuilder setCreated(Date a) {
482     this.created = Optional.of(a);
483     return this;
484   }
485 
486   public OcDublinCoreBuilder setCreator(String a) {
487     this.creator = Optional.of(a);
488     return this;
489   }
490 
491   public OcDublinCoreBuilder setDate(Date a) {
492     this.date = Optional.of(a);
493     return this;
494   }
495 
496   public OcDublinCoreBuilder setDateAccepted(Date a) {
497     this.dateAccepted = Optional.of(a);
498     return this;
499   }
500 
501   public OcDublinCoreBuilder setDateCopyrighted(Date a) {
502     this.dateCopyrighted = Optional.of(a);
503     return this;
504   }
505 
506   public OcDublinCoreBuilder setDateSubmitted(Date a) {
507     this.dateSubmitted = Optional.of(a);
508     return this;
509   }
510 
511   public OcDublinCoreBuilder setDescription(String a) {
512     this.description = Optional.of(a);
513     return this;
514   }
515 
516   public OcDublinCoreBuilder setEducationLevel(String a) {
517     this.educationLevel = Optional.of(a);
518     return this;
519   }
520 
521   public OcDublinCoreBuilder setExtent(Long a) {
522     this.extent = Optional.of(a);
523     return this;
524   }
525 
526   public OcDublinCoreBuilder setFormat(String a) {
527     this.format = Optional.of(a);
528     return this;
529   }
530 
531   public OcDublinCoreBuilder setHasFormat(String a) {
532     this.hasFormat = Optional.of(a);
533     return this;
534   }
535 
536   public OcDublinCoreBuilder setHasPart(String a) {
537     this.hasPart = Optional.of(a);
538     return this;
539   }
540 
541   public OcDublinCoreBuilder setHasVersion(String a) {
542     this.hasVersion = Optional.of(a);
543     return this;
544   }
545 
546   public OcDublinCoreBuilder setIdentifier(String a) {
547     this.identifier = Optional.of(a);
548     return this;
549   }
550 
551   public OcDublinCoreBuilder setInstructionalMethod(String a) {
552     this.instructionalMethod = Optional.of(a);
553     return this;
554   }
555 
556   public OcDublinCoreBuilder setIsFormatOf(String a) {
557     this.isFormatOf = Optional.of(a);
558     return this;
559   }
560 
561   public OcDublinCoreBuilder setIsPartOf(String a) {
562     this.isPartOf = Optional.of(a);
563     return this;
564   }
565 
566   public OcDublinCoreBuilder setIsReferencedBy(String a) {
567     this.isReferencedBy = Optional.of(a);
568     return this;
569   }
570 
571   public OcDublinCoreBuilder setIsReplacedBy(String a) {
572     this.isReplacedBy = Optional.of(a);
573     return this;
574   }
575 
576   public OcDublinCoreBuilder setIsRequiredBy(String a) {
577     this.isRequiredBy = Optional.of(a);
578     return this;
579   }
580 
581   public OcDublinCoreBuilder setIssued(String a) {
582     this.issued = Optional.of(a);
583     return this;
584   }
585 
586   public OcDublinCoreBuilder setIsVersionOf(String a) {
587     this.isVersionOf = Optional.of(a);
588     return this;
589   }
590 
591   public OcDublinCoreBuilder setLanguage(String a) {
592     this.language = Optional.of(a);
593     return this;
594   }
595 
596   public OcDublinCoreBuilder setLicense(String a) {
597     this.license = Optional.of(a);
598     return this;
599   }
600 
601   public OcDublinCoreBuilder setMediator(String a) {
602     this.mediator = Optional.of(a);
603     return this;
604   }
605 
606   public OcDublinCoreBuilder setMedium(String a) {
607     this.medium = Optional.of(a);
608     return this;
609   }
610 
611   public OcDublinCoreBuilder setModified(String a) {
612     this.modified = Optional.of(a);
613     return this;
614   }
615 
616   public OcDublinCoreBuilder setProvenance(String a) {
617     this.provenance = Optional.of(a);
618     return this;
619   }
620 
621   public OcDublinCoreBuilder setPublisher(String a) {
622     this.publisher = Optional.of(a);
623     return this;
624   }
625 
626   public OcDublinCoreBuilder setReferences(String a) {
627     this.references = Optional.of(a);
628     return this;
629   }
630 
631   public OcDublinCoreBuilder setRelation(String a) {
632     this.relation = Optional.of(a);
633     return this;
634   }
635 
636   public OcDublinCoreBuilder setReplaces(String a) {
637     this.replaces = Optional.of(a);
638     return this;
639   }
640 
641   public OcDublinCoreBuilder setRequires(String a) {
642     this.requires = Optional.of(a);
643     return this;
644   }
645 
646   public OcDublinCoreBuilder setRights(String a) {
647     this.rights = Optional.of(a);
648     return this;
649   }
650 
651   public OcDublinCoreBuilder setRightsHolder(String a) {
652     this.rightsHolder = Optional.of(a);
653     return this;
654   }
655 
656   public OcDublinCoreBuilder setSource(String a) {
657     this.source = Optional.of(a);
658     return this;
659   }
660 
661   public OcDublinCoreBuilder setSpatial(String a) {
662     this.spatial = Optional.of(a);
663     return this;
664   }
665 
666   public OcDublinCoreBuilder setSubject(String a) {
667     this.subject = Optional.of(a);
668     return this;
669   }
670 
671   public OcDublinCoreBuilder setTableOfContents(String a) {
672     this.tableOfContents = Optional.of(a);
673     return this;
674   }
675 
676   public OcDublinCoreBuilder setTemporal(String a) {
677     this.temporal = Optional.of(a);
678     return this;
679   }
680 
681   public OcDublinCoreBuilder setTitle(String a) {
682     this.title = Optional.of(a);
683     return this;
684   }
685 
686   public OcDublinCoreBuilder setType(String a) {
687     this.type = Optional.of(a);
688     return this;
689   }
690 
691   public OcDublinCoreBuilder setValid(String a) {
692     this.valid = Optional.of(a);
693     return this;
694   }
695 
696   @Override public Optional<String> getAbstract() {
697     return abstrakt;
698   }
699 
700   @Override public Optional<String> getAccessRights() {
701     return accessRights;
702   }
703 
704   @Override public Optional<String> getAccrualMethod() {
705     return accrualMethod;
706   }
707 
708   @Override public Optional<String> getAccrualPeriodicity() {
709     return accrualPeriodicity;
710   }
711 
712   @Override public Optional<String> getAccrualPolicy() {
713     return accrualPolicy;
714   }
715 
716   @Override public Optional<String> getAlternative() {
717     return alternative;
718   }
719 
720   @Override public Optional<String> getAudience() {
721     return audience;
722   }
723 
724   @Override public Optional<String> getAvailable() {
725     return available;
726   }
727 
728   @Override public Optional<String> getBibliographicCitation() {
729     return bibliographicCitation;
730   }
731 
732   @Override public Optional<String> getConformsTo() {
733     return conformsTo;
734   }
735 
736   @Override public Optional<String> getContributor() {
737     return contributor;
738   }
739 
740   @Override public Optional<String> getCoverage() {
741     return coverage;
742   }
743 
744   @Override public Date getCreated() {
745     return created.orElseThrow(() -> new Error("created not set"));
746   }
747 
748   @Override public Optional<String> getCreator() {
749     return creator;
750   }
751 
752   @Override public Optional<Date> getDate() {
753     return date;
754   }
755 
756   @Override public Optional<Date> getDateAccepted() {
757     return dateAccepted;
758   }
759 
760   @Override public Optional<Date> getDateCopyrighted() {
761     return dateCopyrighted;
762   }
763 
764   @Override public Optional<Date> getDateSubmitted() {
765     return dateSubmitted;
766   }
767 
768   @Override public Optional<String> getDescription() {
769     return description;
770   }
771 
772   @Override public Optional<String> getEducationLevel() {
773     return educationLevel;
774   }
775 
776   @Override public Optional<Long> getExtent() {
777     return extent;
778   }
779 
780   @Override public Optional<String> getFormat() {
781     return format;
782   }
783 
784   @Override public Optional<String> getHasFormat() {
785     return hasFormat;
786   }
787 
788   @Override public Optional<String> getHasPart() {
789     return hasPart;
790   }
791 
792   @Override public Optional<String> getHasVersion() {
793     return hasVersion;
794   }
795 
796   @Override public Optional<String> getIdentifier() {
797     return identifier;
798   }
799 
800   @Override public Optional<String> getInstructionalMethod() {
801     return instructionalMethod;
802   }
803 
804   @Override public Optional<String> getIsFormatOf() {
805     return isFormatOf;
806   }
807 
808   @Override public Optional<String> getIsPartOf() {
809     return isPartOf;
810   }
811 
812   @Override public Optional<String> getIsReferencedBy() {
813     return isReferencedBy;
814   }
815 
816   @Override public Optional<String> getIsReplacedBy() {
817     return isReplacedBy;
818   }
819 
820   @Override public Optional<String> getIsRequiredBy() {
821     return isRequiredBy;
822   }
823 
824   @Override public Optional<String> getIssued() {
825     return issued;
826   }
827 
828   @Override public Optional<String> getIsVersionOf() {
829     return isVersionOf;
830   }
831 
832   @Override public Optional<String> getLanguage() {
833     return language;
834   }
835 
836   @Override public Optional<String> getLicense() {
837     return license;
838   }
839 
840   @Override public Optional<String> getMediator() {
841     return mediator;
842   }
843 
844   @Override public Optional<String> getMedium() {
845     return medium;
846   }
847 
848   @Override public Optional<String> getModified() {
849     return modified;
850   }
851 
852   @Override public Optional<String> getProvenance() {
853     return provenance;
854   }
855 
856   @Override public Optional<String> getPublisher() {
857     return publisher;
858   }
859 
860   @Override public Optional<String> getReferences() {
861     return references;
862   }
863 
864   @Override public Optional<String> getRelation() {
865     return relation;
866   }
867 
868   @Override public Optional<String> getReplaces() {
869     return replaces;
870   }
871 
872   @Override public Optional<String> getRequires() {
873     return requires;
874   }
875 
876   @Override public Optional<String> getRights() {
877     return rights;
878   }
879 
880   @Override public Optional<String> getRightsHolder() {
881     return rightsHolder;
882   }
883 
884   @Override public Optional<String> getSource() {
885     return source;
886   }
887 
888   @Override public Optional<String> getSpatial() {
889     return spatial;
890   }
891 
892   @Override public Optional<String> getSubject() {
893     return subject;
894   }
895 
896   @Override public Optional<String> getTableOfContents() {
897     return tableOfContents;
898   }
899 
900   @Override public Optional<String> getTemporal() {
901     return temporal;
902   }
903 
904   @Override public String getTitle() {
905     return title.orElseThrow(() -> new Error("title not set"));
906   }
907 
908   @Override public Optional<String> getType() {
909     return type;
910   }
911 
912   @Override public Optional<String> getValid() {
913     return valid;
914   }
915 }