Merge branch 'release/4.5.0'
[cdmlib.git] / cdmlib-io / src / main / java / eu / etaxonomy / cdm / io / jaxb / DataSet.java
1 /**
2 * Copyright (C) 2008 EDIT
3 * European Distributed Institute of Taxonomy
4 * http://www.e-taxonomy.eu
5 *
6 * The contents of this file are subject to the Mozilla Public License Version 1.1
7 * See LICENSE.TXT at the top of this package for the full license terms.
8 */
9
10 package eu.etaxonomy.cdm.io.jaxb;
11
12 import java.util.ArrayList;
13 import java.util.Collection;
14 import java.util.List;
15
16 import javax.xml.bind.annotation.XmlAccessType;
17 import javax.xml.bind.annotation.XmlAccessorType;
18 import javax.xml.bind.annotation.XmlElement;
19 import javax.xml.bind.annotation.XmlElementWrapper;
20 import javax.xml.bind.annotation.XmlElements;
21 import javax.xml.bind.annotation.XmlRootElement;
22 import javax.xml.bind.annotation.XmlType;
23
24 import org.springframework.security.core.GrantedAuthority;
25
26 import eu.etaxonomy.cdm.io.common.IExportData;
27 import eu.etaxonomy.cdm.model.agent.AgentBase;
28 import eu.etaxonomy.cdm.model.agent.Institution;
29 import eu.etaxonomy.cdm.model.agent.Person;
30 import eu.etaxonomy.cdm.model.agent.Team;
31 import eu.etaxonomy.cdm.model.common.AnnotationType;
32 import eu.etaxonomy.cdm.model.common.DefinedTerm;
33 import eu.etaxonomy.cdm.model.common.DefinedTermBase;
34 import eu.etaxonomy.cdm.model.common.EventBase;
35 import eu.etaxonomy.cdm.model.common.ExtensionType;
36 import eu.etaxonomy.cdm.model.common.GrantedAuthorityImpl;
37 import eu.etaxonomy.cdm.model.common.Group;
38 import eu.etaxonomy.cdm.model.common.Language;
39 import eu.etaxonomy.cdm.model.common.LanguageString;
40 import eu.etaxonomy.cdm.model.common.MarkerType;
41 import eu.etaxonomy.cdm.model.common.OrderedTermVocabulary;
42 import eu.etaxonomy.cdm.model.common.TermVocabulary;
43 import eu.etaxonomy.cdm.model.common.User;
44 import eu.etaxonomy.cdm.model.description.Feature;
45 import eu.etaxonomy.cdm.model.description.FeatureTree;
46 import eu.etaxonomy.cdm.model.description.MeasurementUnit;
47 import eu.etaxonomy.cdm.model.description.MediaKey;
48 import eu.etaxonomy.cdm.model.description.PolytomousKey;
49 import eu.etaxonomy.cdm.model.description.PresenceAbsenceTerm;
50 import eu.etaxonomy.cdm.model.description.State;
51 import eu.etaxonomy.cdm.model.description.StatisticalMeasure;
52 import eu.etaxonomy.cdm.model.description.TextFormat;
53 import eu.etaxonomy.cdm.model.location.Country;
54 import eu.etaxonomy.cdm.model.location.NamedArea;
55 import eu.etaxonomy.cdm.model.location.NamedAreaLevel;
56 import eu.etaxonomy.cdm.model.location.NamedAreaType;
57 import eu.etaxonomy.cdm.model.location.ReferenceSystem;
58 import eu.etaxonomy.cdm.model.media.Media;
59 import eu.etaxonomy.cdm.model.media.RightsType;
60 import eu.etaxonomy.cdm.model.molecular.DnaSample;
61 import eu.etaxonomy.cdm.model.molecular.PhylogeneticTree;
62 import eu.etaxonomy.cdm.model.name.BacterialName;
63 import eu.etaxonomy.cdm.model.name.BotanicalName;
64 import eu.etaxonomy.cdm.model.name.CultivarPlantName;
65 import eu.etaxonomy.cdm.model.name.HomotypicalGroup;
66 import eu.etaxonomy.cdm.model.name.HybridRelationshipType;
67 import eu.etaxonomy.cdm.model.name.NameRelationshipType;
68 import eu.etaxonomy.cdm.model.name.NameTypeDesignation;
69 import eu.etaxonomy.cdm.model.name.NameTypeDesignationStatus;
70 import eu.etaxonomy.cdm.model.name.NomenclaturalCode;
71 import eu.etaxonomy.cdm.model.name.NomenclaturalStatusType;
72 import eu.etaxonomy.cdm.model.name.NonViralName;
73 import eu.etaxonomy.cdm.model.name.Rank;
74 import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignation;
75 import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignationStatus;
76 import eu.etaxonomy.cdm.model.name.TaxonNameBase;
77 import eu.etaxonomy.cdm.model.name.TypeDesignationBase;
78 import eu.etaxonomy.cdm.model.name.ViralName;
79 import eu.etaxonomy.cdm.model.name.ZoologicalName;
80 import eu.etaxonomy.cdm.model.occurrence.DerivationEvent;
81 import eu.etaxonomy.cdm.model.occurrence.DerivationEventType;
82 import eu.etaxonomy.cdm.model.occurrence.DerivedUnit;
83 import eu.etaxonomy.cdm.model.occurrence.FieldUnit;
84 import eu.etaxonomy.cdm.model.occurrence.GatheringEvent;
85 import eu.etaxonomy.cdm.model.occurrence.PreservationMethod;
86 import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
87 import eu.etaxonomy.cdm.model.reference.Reference;
88 import eu.etaxonomy.cdm.model.taxon.Classification;
89 import eu.etaxonomy.cdm.model.taxon.Synonym;
90 import eu.etaxonomy.cdm.model.taxon.SynonymType;
91 import eu.etaxonomy.cdm.model.taxon.Taxon;
92 import eu.etaxonomy.cdm.model.taxon.TaxonBase;
93 import eu.etaxonomy.cdm.model.taxon.TaxonNode;
94 import eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType;
95
96 /**
97 * @author a.babadshanjan
98 */
99 @XmlAccessorType(XmlAccessType.FIELD)
100 @XmlType(name = "DataSet", propOrder = {
101 "terms",
102 "termVocabularies",
103 "agents",
104 "collections",
105 "occurrences",
106 "eventBases",
107 "references",
108 "typeDesignations",
109 "featureTrees",
110 "polytomousKeys",
111 "taxonNodes",
112 "classifications",
113 "taxonomicNames",
114 "homotypicalGroups",
115 "taxonBases",
116 "media",
117 "users",
118 "groups",
119 "grantedAuthorities",
120 "languageStrings"
121 })
122 @XmlRootElement(name = "DataSet")
123 public class DataSet implements IExportData {
124
125 @XmlElementWrapper(name = "Terms")
126 @XmlElements({
127 @XmlElement(name = "AnnotationType", namespace = "http://etaxonomy.eu/cdm/model/common/1.0", type = AnnotationType.class),
128 @XmlElement(name = "Continent", namespace = "http://etaxonomy.eu/cdm/model/location/1.0", type = NamedArea.class),
129 @XmlElement(name = "DerivationEventType", namespace = "http://etaxonomy.eu/cdm/model/occurrence/1.0", type = DerivationEventType.class),
130 @XmlElement(name = "DeterminationModifier", namespace = "http://etaxonomy.eu/cdm/model/occurrence/1.0", type = DefinedTerm.class),
131 @XmlElement(name = "ExtensionType", namespace = "http://etaxonomy.eu/cdm/model/common/1.0", type = ExtensionType.class),
132 @XmlElement(name = "Feature", namespace = "http://etaxonomy.eu/cdm/model/description/1.0", type = Feature.class),
133 @XmlElement(name = "HybridRelationshipType", namespace = "http://etaxonomy.eu/cdm/model/name/1.0", type = HybridRelationshipType.class),
134 @XmlElement(name = "InstitutionType", namespace = "http://etaxonomy.eu/cdm/model/agent/1.0", type = DefinedTerm.class),
135 @XmlElement(name = "Language", namespace = "http://etaxonomy.eu/cdm/model/common/1.0", type = Language.class),
136 @XmlElement(name = "MarkerType", namespace = "http://etaxonomy.eu/cdm/model/common/1.0", type = MarkerType.class),
137 @XmlElement(name = "MeasurementUnit", namespace = "http://etaxonomy.eu/cdm/model/description/1.0", type = MeasurementUnit.class),
138 @XmlElement(name = "Modifier", namespace = "http://etaxonomy.eu/cdm/model/description/1.0", type = DefinedTerm.class),
139 @XmlElement(name = "NamedArea", namespace = "http://etaxonomy.eu/cdm/model/location/1.0", type = NamedArea.class),
140 @XmlElement(name = "NamedAreaLevel", namespace = "http://etaxonomy.eu/cdm/model/location/1.0", type = NamedAreaLevel.class),
141 @XmlElement(name = "NamedAreaType", namespace = "http://etaxonomy.eu/cdm/model/location/1.0", type = NamedAreaType.class),
142 @XmlElement(name = "NameRelationshipType", namespace = "http://etaxonomy.eu/cdm/model/name/1.0", type = NameRelationshipType.class),
143 @XmlElement(name = "NameTypeDesignationStatus", namespace = "http://etaxonomy.eu/cdm/model/name/1.0", type = NameTypeDesignationStatus.class),
144 @XmlElement(name = "NomenclaturalCode", namespace = "http://etaxonomy.eu/cdm/model/name/1.0", type = NomenclaturalCode.class),
145 @XmlElement(name = "NomenclaturalStatusType", namespace = "http://etaxonomy.eu/cdm/model/name/1.0", type = NomenclaturalStatusType.class),
146 @XmlElement(name = "PresenceAbsenceTerm", namespace = "http://etaxonomy.eu/cdm/model/description/1.0", type = PresenceAbsenceTerm.class),
147 @XmlElement(name = "PreservationMethod", namespace = "http://etaxonomy.eu/cdm/model/occurrence/1.0", type = PreservationMethod.class),
148 @XmlElement(name = "Rank", namespace = "http://etaxonomy.eu/cdm/model/name/1.0", type = Rank.class),
149 @XmlElement(name = "ReferenceSystem", namespace = "http://etaxonomy.eu/cdm/model/location/1.0", type = ReferenceSystem.class),
150 @XmlElement(name = "RightsType", namespace = "http://etaxonomy.eu/cdm/model/media/1.0", type = RightsType.class),
151 @XmlElement(name = "Scope", namespace = "http://etaxonomy.eu/cdm/model/description/1.0", type = DefinedTerm.class),
152 @XmlElement(name = "Sex", namespace = "http://etaxonomy.eu/cdm/model/description/1.0", type = DefinedTerm.class),
153 @XmlElement(name = "SpecimenTypeDesignationStatus", namespace = "http://etaxonomy.eu/cdm/model/name/1.0", type = SpecimenTypeDesignationStatus.class),
154 @XmlElement(name = "Stage", namespace = "http://etaxonomy.eu/cdm/model/description/1.0", type = DefinedTerm.class),
155 @XmlElement(name = "State", namespace = "http://etaxonomy.eu/cdm/model/description/1.0", type = State.class),
156 @XmlElement(name = "StatisticalMeasure", namespace = "http://etaxonomy.eu/cdm/model/description/1.0", type = StatisticalMeasure.class),
157 @XmlElement(name = "SynonymType", namespace = "http://etaxonomy.eu/cdm/model/taxon/1.0", type = SynonymType.class),
158 @XmlElement(name = "TaxonRelationshipType", namespace = "http://etaxonomy.eu/cdm/model/taxon/1.0", type = TaxonRelationshipType.class),
159 // @XmlElement(name = "TdwgArea", namespace = "http://etaxonomy.eu/cdm/model/location/1.0", type = TdwgArea.class),
160 @XmlElement(name = "TextFormat", namespace = "http://etaxonomy.eu/cdm/model/description/1.0", type = TextFormat.class),
161 @XmlElement(name = "Country", namespace = "http://etaxonomy.eu/cdm/model/location/1.0", type = Country.class)
162
163 })
164 protected List<DefinedTermBase> terms = new ArrayList<DefinedTermBase>();
165
166 @XmlElementWrapper(name = "TermVocabularies")
167 @XmlElements({
168 @XmlElement(name = "TermVocabulary", namespace = "http://etaxonomy.eu/cdm/model/common/1.0", type = TermVocabulary.class),
169 @XmlElement(name = "OrderedTermVocabulary", namespace = "http://etaxonomy.eu/cdm/model/common/1.0", type = OrderedTermVocabulary.class)
170 })
171
172 protected List<TermVocabulary<DefinedTermBase>> termVocabularies = new ArrayList<TermVocabulary<DefinedTermBase>>();
173
174
175 @XmlElementWrapper(name = "Agents")
176 @XmlElements({
177 @XmlElement(name = "Team", namespace = "http://etaxonomy.eu/cdm/model/agent/1.0", type = Team.class),
178 @XmlElement(name = "Institution", namespace = "http://etaxonomy.eu/cdm/model/agent/1.0", type = Institution.class),
179 @XmlElement(name = "Person", namespace = "http://etaxonomy.eu/cdm/model/agent/1.0", type = Person.class)
180 })
181 protected List<AgentBase> agents = new ArrayList<AgentBase>();
182
183
184 @XmlElementWrapper(name = "Collections")
185 @XmlElement(name = "Collection", namespace = "http://etaxonomy.eu/cdm/model/occurrence/1.0")
186 protected List<eu.etaxonomy.cdm.model.occurrence.Collection> collections = new ArrayList<eu.etaxonomy.cdm.model.occurrence.Collection>();
187
188 @XmlElementWrapper(name = "FeatureTrees")
189 @XmlElements({
190 @XmlElement(name = "FeatureTree", namespace = "http://etaxonomy.eu/cdm/model/description/1.0", type = FeatureTree.class)
191 })
192 protected List<FeatureTree> featureTrees = new ArrayList<FeatureTree>();
193
194 @XmlElementWrapper(name = "PolytomousKeys")
195 @XmlElements({
196 @XmlElement(name = "PolytomousKey", namespace = "http://etaxonomy.eu/cdm/model/description/1.0", type = PolytomousKey.class)
197 })
198 protected List<PolytomousKey> polytomousKeys = new ArrayList<PolytomousKey>();
199
200
201 @XmlElementWrapper(name = "Classifications")
202 @XmlElement(name = "Classification", namespace = "http://etaxonomy.eu/cdm/model/taxon/1.0")
203 protected List<Classification> classifications = new ArrayList<Classification>();
204
205 @XmlElementWrapper(name = "TaxonNodes")
206 @XmlElement(name = "TaxonNodes", namespace = "http://etaxonomy.eu/cdm/model/taxon/1.0")
207 protected List<TaxonNode> taxonNodes = new ArrayList<TaxonNode>();
208
209 protected List<LanguageString> languageStrings =new ArrayList<LanguageString>();
210
211
212 @XmlElementWrapper(name = "Occurrences")
213 @XmlElements({
214 @XmlElement(name = "DerivedUnit", namespace = "http://etaxonomy.eu/cdm/model/occurrence/1.0", type = DerivedUnit.class),
215 @XmlElement(name = "DnaSample", namespace = "http://etaxonomy.eu/cdm/model/occurrence/1.0", type = DnaSample.class),
216 @XmlElement(name = "FieldUnit", namespace = "http://etaxonomy.eu/cdm/model/occurrence/1.0", type = FieldUnit.class)
217 })
218 protected List<SpecimenOrObservationBase> occurrences = new ArrayList<SpecimenOrObservationBase>();
219
220 @XmlElementWrapper(name = "EventBases")
221 @XmlElements({
222 @XmlElement(name = "DerivationEvent", namespace = "http://etaxonomy.eu/cdm/model/occurrence/1.0", type = DerivationEvent.class),
223 @XmlElement(name = "GatheringEvent", namespace = "http://etaxonomy.eu/cdm/model/occurrence/1.0", type = GatheringEvent.class)
224 })
225 protected List<EventBase> eventBases = new ArrayList<EventBase>();
226
227 @XmlElementWrapper(name = "References")
228 @XmlElements({
229 @XmlElement(name = "Reference", namespace = "http://etaxonomy.eu/cdm/model/reference/1.0", type = Reference.class)
230 })
231 protected List<Reference> references = new ArrayList<Reference>();
232
233 @XmlElementWrapper(name = "TypeDesignations")
234 @XmlElements({
235 @XmlElement(name = "NameTypeDesignation", namespace = "http://etaxonomy.eu/cdm/model/name/1.0", type = NameTypeDesignation.class),
236 @XmlElement(name = "SpecimenTypeDesignation", namespace = "http://etaxonomy.eu/cdm/model/name/1.0", type = SpecimenTypeDesignation.class)
237 })
238 protected List<TypeDesignationBase> typeDesignations = new ArrayList<TypeDesignationBase>();
239
240 @XmlElementWrapper(name = "TaxonomicNames")
241 @XmlElements({
242 @XmlElement(name = "BacterialName", namespace = "http://etaxonomy.eu/cdm/model/name/1.0", type = BacterialName.class),
243 @XmlElement(name = "BotanicalName", namespace = "http://etaxonomy.eu/cdm/model/name/1.0", type = BotanicalName.class),
244 @XmlElement(name = "CultivarPlantName", namespace = "http://etaxonomy.eu/cdm/model/name/1.0", type = CultivarPlantName.class),
245 @XmlElement(name = "NonViralName", namespace = "http://etaxonomy.eu/cdm/model/name/1.0", type = NonViralName.class),
246 @XmlElement(name = "ViralName", namespace = "http://etaxonomy.eu/cdm/model/name/1.0", type = ViralName.class),
247 @XmlElement(name = "ZoologicalName", namespace = "http://etaxonomy.eu/cdm/model/name/1.0", type = ZoologicalName.class)
248 })
249 protected List<TaxonNameBase> taxonomicNames = new ArrayList<TaxonNameBase>();
250
251 @XmlElementWrapper(name = "TaxonBases")
252 @XmlElements({
253 @XmlElement(name = "Taxon", namespace = "http://etaxonomy.eu/cdm/model/taxon/1.0", type = Taxon.class),
254 @XmlElement(name = "Synonym", namespace = "http://etaxonomy.eu/cdm/model/taxon/1.0", type = Synonym.class)
255 })
256 protected List<TaxonBase<?>> taxonBases = new ArrayList<TaxonBase<?>>();
257
258 @XmlElementWrapper(name = "Media")
259 @XmlElements({
260 @XmlElement(name = "Media", namespace = "http://etaxonomy.eu/cdm/model/media/1.0", type = Media.class),
261 @XmlElement(name = "MediaKey", namespace = "http://etaxonomy.eu/cdm/model/description/1.0", type = MediaKey.class),
262 @XmlElement(name = "PhylogeneticTree", namespace = "http://etaxonomy.eu/cdm/model/molecular/1.0", type = PhylogeneticTree.class)
263 })
264 protected List<Media> media = new ArrayList<Media>();
265
266 @XmlElementWrapper(name = "HomotypicalGroups")
267 @XmlElement(name = "HomotypicalGroup", namespace = "http://etaxonomy.eu/cdm/model/name/1.0")
268 protected List<HomotypicalGroup> homotypicalGroups = new ArrayList<HomotypicalGroup>();
269
270 @XmlElementWrapper(name = "Users")
271 @XmlElement(name = "User", namespace = "http://etaxonomy.eu/cdm/model/common/1.0")
272 protected List<User> users = new ArrayList<User>();
273
274 @XmlElementWrapper(name = "Groups")
275 @XmlElement(name = "Group", namespace = "http://etaxonomy.eu/cdm/model/common/1.0")
276 protected List<Group> groups = new ArrayList<Group>();
277
278 @XmlElementWrapper(name = "GrantedAuthorities")
279 @XmlElement(name = "GrantedAuthority", namespace = "http://etaxonomy.eu/cdm/model/common/1.0", type = GrantedAuthorityImpl.class)
280 protected List<GrantedAuthority> grantedAuthorities = new ArrayList<GrantedAuthority>();
281
282 /**
283 * Gets the value of the agents property.
284 *
285 * @return
286 * possible object is
287 * {@link List<Agent> }
288 *
289 */
290 public List<AgentBase> getAgents() {
291 return agents;
292 }
293
294 /**
295 * Sets the value of the agents property.
296 *
297 * @param value
298 * allowed object is
299 * {@link List<Agent> }
300 *
301 */
302 public void setAgents(List<AgentBase> value) {
303 this.agents = value;
304 }
305
306 /**
307 * Gets the value of the collections property.
308 *
309 * @return
310 * possible object is
311 * {@link List<eu.etaxonomy.cdm.model.occurrence.Collection> }
312 *
313 */
314 public List<eu.etaxonomy.cdm.model.occurrence.Collection> getCollections() {
315 return collections;
316 }
317
318 /**
319 * Sets the value of the collections property.
320 *
321 * @param value
322 * allowed object is
323 * {@link List<eu.etaxonomy.cdm.model.occurrence.Collection> }
324 *
325 */
326 public void setCollections(List<eu.etaxonomy.cdm.model.occurrence.Collection> value) {
327 this.collections = value;
328 }
329
330 /**
331 * Gets the value of the terms property.
332 *
333 * @return
334 * possible object is
335 * {@link List<TermBase> }
336 *
337 */
338 public List<DefinedTermBase> getTerms() {
339 return terms;
340 }
341
342 /**
343 * Sets the value of the terms property.
344 *
345 * @param value
346 * allowed object is
347 * {@link List<TermBase> }
348 *
349 */
350 public void setTerms(List<DefinedTermBase> value) {
351 this.terms = value;
352 }
353
354 /**
355 * Gets the value of the term vocabularies property.
356 *
357 * @return
358 * possible object is
359 * {@link List<TermVocabulary> }
360 *
361 */
362
363 public List<TermVocabulary<DefinedTermBase>> getTermVocabularies() {
364 return termVocabularies;
365 }
366
367 /**
368 * Sets the value of the term vocabularies property.
369 *
370 * @param value
371 * allowed object is
372 * {@link List<TermVocabulary> }
373 *
374 */
375 public void setTermVocabularies(List<TermVocabulary<DefinedTermBase>> value) {
376 this.termVocabularies = value;
377 }
378
379
380
381 /**
382 * Gets the value of the taxonomicNames property.
383 *
384 * @return
385 * possible object is
386 * {@link List<axonNameBase> }
387 *
388 */
389 public List<TaxonNameBase> getTaxonomicNames() {
390 return taxonomicNames;
391 }
392
393 /**
394 * Sets the value of the taxonomicNames property.
395 *
396 * @param value
397 * allowed object is
398 * {@link List<TaxonNameBase> }
399 *
400 */
401 public void setTaxonomicNames(List<TaxonNameBase> value) {
402 this.taxonomicNames = value;
403 }
404
405 /**
406 * Gets the value of the eventBases property.
407 *
408 * @return
409 * possible object is
410 * {@link List<EventBase> }
411 *
412 */
413 public List<EventBase> getEventBases() {
414 return eventBases;
415 }
416
417 /**
418 * Sets the value of the eventBases property.
419 *
420 * @param value
421 * allowed object is
422 * {@link List<EventBase> }
423 *
424 */
425 public void setEventBases(List<EventBase> value) {
426 this.eventBases = value;
427 }
428
429 /**
430 * Gets the value of the occurrences property.
431 *
432 * @return
433 * possible object is
434 * {@link List<SpecimenOrObservationBase> }
435 *
436 */
437 public List<SpecimenOrObservationBase> getOccurrences() {
438 return occurrences;
439 }
440
441 /**
442 * Sets the value of the occurrences property.
443 *
444 * @param value
445 * allowed object is
446 * {@link List<SpecimenOrObservationBase> }
447 *
448 */
449 public void setOccurrences(List<SpecimenOrObservationBase> value) {
450 this.occurrences = value;
451 }
452 /*
453 * Gets the value of the occurrences property.
454 *
455 * @return
456 * possible object is
457 * {@link List<LanguageStringBase> }
458 *
459 */
460 public List<LanguageString> getLanguageStrings() {
461 return languageStrings;
462 }
463
464 /**
465 * Sets the value of the occurrences property.
466 *
467 * @param value
468 * allowed object is
469 * {@link List<SpecimenOrObservationBase> }
470 *
471 */
472 public void setLanguageStrings(List<LanguageString> value) {
473 this.languageStrings = value;
474 }
475 /**
476 * Gets the value of the references property.
477 *
478 * @return
479 * possible object is
480 * {@link List<Reference> }
481 *
482 */
483 public List<Reference> getReferences() {
484 return references;
485 }
486
487 /**
488 * Sets the value of the references property.
489 *
490 * @param value
491 * allowed object is
492 * {@link List<Reference> }
493 *
494 */
495 public void setReferences(List<Reference> value) {
496 this.references = value;
497 }
498
499 /**
500 * Gets the value of the featureTrees property.
501 *
502 * @return
503 * possible object is
504 * {@link List<FeatureTree> }
505 *
506 */
507 public List<FeatureTree> getFeatureTrees() {
508 return featureTrees;
509 }
510
511
512 /**
513 * Gets the value of the polytomousKeys property.
514 *
515 * @return
516 * possible object is
517 * {@link List<PolytomousKey> }
518 *
519 */
520 public List<PolytomousKey> getPolytomousKeys() {
521 return polytomousKeys;
522 }
523
524 /**
525 * Sets the value of the featureTrees property.
526 *
527 * @param value
528 * allowed object is
529 * {@link List<FeatureTree> }
530 *
531 */
532 public void setClassifications(List<Classification> value) {
533 this.classifications = value;
534 }
535
536
537 /**
538 * Gets the value of the featureTrees property.
539 *
540 * @return
541 * possible object is
542 * {@link List<FeatureTree> }
543 *
544 */
545 public List<Classification> getClassifications() {
546 return classifications;
547 }
548 /**
549 * Sets the value of the featureTrees property.
550 *
551 * @param value
552 * allowed object is
553 * {@link List<FeatureTree> }
554 *
555 */
556 public void setTaxonNodes(List<TaxonNode> value) {
557 this.taxonNodes = value;
558 }
559
560
561 /**
562 * Gets the value of the featureTrees property.
563 *
564 * @return
565 * possible object is
566 * {@link List<FeatureTree> }
567 *
568 */
569 public List<TaxonNode> getTaxonNodes() {
570 return taxonNodes;
571 }
572
573 /**
574 * Sets the value of the featureTrees property.
575 *
576 * @param value
577 * allowed object is
578 * {@link List<FeatureTree> }
579 *
580 */
581 public void setFeatureTrees(List<FeatureTree> value) {
582 this.featureTrees = value;
583 }
584
585 /**
586 * Sets the value of the polytomousKeys property.
587 *
588 * @param value
589 * allowed object is
590 * {@link List<PolytomousKey> }
591 *
592 */
593 public void setPolytomousKeys(List<PolytomousKey> value) {
594 this.polytomousKeys = value;
595 }
596
597 /**
598 * Adds the taxonBases in value to the taxonBases property list.
599 *
600 * @param value
601 * allowed object is
602 * {@link Collection<TaxonBase> }
603 *
604 */
605 public void addTaxonBases(Collection<TaxonBase<?>> value) {
606 this.taxonBases.addAll(value);
607 }
608
609 /**
610 * Gets the value of the taxonBases property as {@link Collection<TaxonBase> }
611 *
612 * @return
613 * possible object is
614 * {@link List<TaxonBase> }
615 *
616 */
617 public List<TaxonBase<?>> getTaxonBases() {
618 return taxonBases;
619 }
620
621 /**
622 * Sets the value of the taxonBases property.
623 *
624 * @param value
625 * allowed object is
626 * {@link List<TaxonBase> }
627 *
628 */
629 public void setTaxonBases(List<TaxonBase<?>> value) {
630 this.taxonBases = value;
631 }
632
633 /**
634 * Adds the taxonBase in value to the taxonBases property list.
635 *
636 * @param value
637 *
638 */
639 public void addTaxonBase(TaxonBase value) {
640 this.taxonBases.add(value);
641 }
642
643 /**
644 * Adds the media in value to the media property list.
645 *
646 * @param value
647 * allowed object is
648 * {@link Collection<VersionableEntity> }
649 *
650 */
651 public <T extends Media> void addMedia(Collection<T> value) {
652 for (T medium: value) {
653 this.media.add(medium);
654 }
655 }
656
657 /**
658 * Gets the value of the property.
659 *
660 * @return
661 * possible object is
662 * {@link List<ReferencedEntityBase> }
663 *
664 */
665 public List<Media> getMedia() {
666 return media;
667 }
668
669 /**
670 * Sets the value of the referencedEntities property.
671 *
672 * @param value
673 * allowed object is
674 * {@link List<ReferencedEntityBase> }
675 *
676 */
677 public void setMedia(List<Media> value) {
678 this.media = new ArrayList<Media>();
679 media.addAll(value);
680 }
681
682 /**
683 * Gets the value of the synonyms property.
684 *
685 * @return
686 * possible object is
687 * {@link List<Synonym> }
688 *
689 */
690 public List<HomotypicalGroup> getHomotypicalGroups() {
691 return homotypicalGroups;
692 }
693
694 /**
695 * Sets the value of the synonyms property.
696 *
697 * @param value
698 * allowed object is
699 * {@link List<Synonym> }
700 *
701 */
702 public void setHomotypicalGroups(List<HomotypicalGroup> value) {
703 this.homotypicalGroups = value;
704 }
705
706 /**
707 * Gets the value of the typeDesignations property.
708 *
709 * @return
710 * possible object is
711 * {@link List<TypeDesignationBase> }
712 *
713 */
714 public List<TypeDesignationBase> getTypeDesignations() {
715 return typeDesignations;
716 }
717
718 /**
719 * Sets the value of the typeDesignations property.
720 *
721 * @param value
722 * allowed object is
723 * {@link List<TypeDesignationBase> }
724 *
725 */
726 public void addTypeDesignations(List<TypeDesignationBase> typeDesignations) {
727 this.typeDesignations.addAll(typeDesignations);
728 }
729
730 /**
731 * Gets the value of the users property.
732 *
733 * @return
734 * possible object is
735 * {@link List<User> }
736 *
737 */
738 public List<User> getUsers() {
739 return users;
740 }
741
742 /**
743 * Sets the value of the users property.
744 *
745 * @param value
746 * allowed object is
747 * {@link List<User> }
748 *
749 */
750 public void setUsers(List<User> users) {
751 this.users = users;
752 }
753
754 /**
755 * Gets the value of the groups property.
756 *
757 * @return
758 * possible object is
759 * {@link List<Group> }
760 *
761 */
762 public List<Group> getGroups() {
763 return groups;
764 }
765
766 /**
767 * Sets the value of the groups property.
768 *
769 * @param value
770 * allowed object is
771 * {@link List<Group> }
772 *
773 */
774 public void setGroups(List<Group> groups) {
775 this.groups = groups;
776 }
777
778 /**
779 * Gets the value of the grantedAuthorities property.
780 *
781 * @return
782 * possible object is
783 * {@link List<GrantedAuthority> }
784 *
785 */
786 public List<GrantedAuthority> getGrantedAuthorities() {
787 return grantedAuthorities;
788 }
789
790 /**
791 * Sets the value of the grantedAuthorities property.
792 *
793 * @param value
794 * allowed object is
795 * {@link List<GrantedAuthority> }
796 *
797 */
798 public void setGrantedAuthorities(List<GrantedAuthority> grantedAuthorities) {
799 this.grantedAuthorities = grantedAuthorities;
800 }
801
802 public void addUser(User deproxy) {
803 this.users.add(deproxy);
804
805 }
806 }