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