Project

General

Profile

Download (29.6 KB) Statistics
| Branch: | Tag: | Revision:
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.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.PolytomousKey;
51
import eu.etaxonomy.cdm.model.description.PresenceTerm;
52
import eu.etaxonomy.cdm.model.description.Scope;
53
import eu.etaxonomy.cdm.model.description.Sex;
54
import eu.etaxonomy.cdm.model.description.Stage;
55
import eu.etaxonomy.cdm.model.description.State;
56
import eu.etaxonomy.cdm.model.description.StatisticalMeasure;
57
import eu.etaxonomy.cdm.model.description.TextFormat;
58
import eu.etaxonomy.cdm.model.location.Continent;
59
import eu.etaxonomy.cdm.model.location.NamedAreaLevel;
60
import eu.etaxonomy.cdm.model.location.NamedAreaType;
61
import eu.etaxonomy.cdm.model.location.ReferenceSystem;
62
import eu.etaxonomy.cdm.model.location.TdwgArea;
63
import eu.etaxonomy.cdm.model.location.WaterbodyOrCountry;
64
import eu.etaxonomy.cdm.model.media.Media;
65
import eu.etaxonomy.cdm.model.media.RightsTerm;
66
import eu.etaxonomy.cdm.model.molecular.DnaSample;
67
import eu.etaxonomy.cdm.model.molecular.PhylogeneticTree;
68
import eu.etaxonomy.cdm.model.name.BacterialName;
69
import eu.etaxonomy.cdm.model.name.BotanicalName;
70
import eu.etaxonomy.cdm.model.name.CultivarPlantName;
71
import eu.etaxonomy.cdm.model.name.HomotypicalGroup;
72
import eu.etaxonomy.cdm.model.name.HybridRelationshipType;
73
import eu.etaxonomy.cdm.model.name.NameRelationshipType;
74
import eu.etaxonomy.cdm.model.name.NameTypeDesignation;
75
import eu.etaxonomy.cdm.model.name.NameTypeDesignationStatus;
76
import eu.etaxonomy.cdm.model.name.NomenclaturalCode;
77
import eu.etaxonomy.cdm.model.name.NomenclaturalStatusType;
78
import eu.etaxonomy.cdm.model.name.NonViralName;
79
import eu.etaxonomy.cdm.model.name.Rank;
80
import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignation;
81
import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignationStatus;
82
import eu.etaxonomy.cdm.model.name.TaxonNameBase;
83
import eu.etaxonomy.cdm.model.name.TypeDesignationBase;
84
import eu.etaxonomy.cdm.model.name.ViralName;
85
import eu.etaxonomy.cdm.model.name.ZoologicalName;
86
import eu.etaxonomy.cdm.model.occurrence.DerivationEvent;
87
import eu.etaxonomy.cdm.model.occurrence.DerivationEventType;
88
import eu.etaxonomy.cdm.model.occurrence.DerivedUnit;
89
import eu.etaxonomy.cdm.model.occurrence.DeterminationModifier;
90
import eu.etaxonomy.cdm.model.occurrence.FieldObservation;
91
import eu.etaxonomy.cdm.model.occurrence.Fossil;
92
import eu.etaxonomy.cdm.model.occurrence.GatheringEvent;
93
import eu.etaxonomy.cdm.model.occurrence.LivingBeing;
94
import eu.etaxonomy.cdm.model.occurrence.Observation;
95
import eu.etaxonomy.cdm.model.occurrence.PreservationMethod;
96
import eu.etaxonomy.cdm.model.occurrence.Specimen;
97
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
98
import eu.etaxonomy.cdm.model.reference.Reference;
99
import eu.etaxonomy.cdm.model.taxon.Synonym;
100
import eu.etaxonomy.cdm.model.taxon.SynonymRelationshipType;
101
import eu.etaxonomy.cdm.model.taxon.Taxon;
102
import eu.etaxonomy.cdm.model.taxon.TaxonBase;
103
import eu.etaxonomy.cdm.model.taxon.TaxonNode;
104
import eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType;
105
import eu.etaxonomy.cdm.model.taxon.Classification;
106

    
107
/**
108
 * @author a.babadshanjan
109
 */
110
@XmlAccessorType(XmlAccessType.FIELD)
111
@XmlType(name = "DataSet", propOrder = {
112
	    "terms",
113
	    "termVocabularies",
114
		"agents",
115
		"collections",
116
		"occurrences",
117
		"eventBases",
118
	    "references",
119
	    "typeDesignations",
120
	    "featureTrees",
121
	    "polytomousKeys",
122
	    "taxonNodes",
123
	    "classifications",
124
	    "taxonomicNames",
125
	    "homotypicalGroups",
126
	    "taxonBases",
127
	    "media",
128
	    "users",
129
	    "groups",
130
	    "grantedAuthorities",
131
	    "languageStrings"
132
})
133
@XmlRootElement(name = "DataSet")
134
public class DataSet {
135
	
136
	@XmlElementWrapper(name = "Terms")
137
    @XmlElements({
138
    	@XmlElement(name = "AbsenceTerm", namespace = "http://etaxonomy.eu/cdm/model/description/1.0", type = AbsenceTerm.class),
139
    	@XmlElement(name = "AnnotationType", namespace = "http://etaxonomy.eu/cdm/model/common/1.0", type = AnnotationType.class),
140
    	@XmlElement(name = "Continent", namespace = "http://etaxonomy.eu/cdm/model/location/1.0", type = Continent.class),
141
    	@XmlElement(name = "DerivationEventType", namespace = "http://etaxonomy.eu/cdm/model/occurrence/1.0", type = DerivationEventType.class),
142
    	@XmlElement(name = "DeterminationModifier", namespace = "http://etaxonomy.eu/cdm/model/occurrence/1.0", type = DeterminationModifier.class),
143
    	@XmlElement(name = "ExtensionType", namespace = "http://etaxonomy.eu/cdm/model/common/1.0", type = ExtensionType.class),
144
    	@XmlElement(name = "Feature", namespace = "http://etaxonomy.eu/cdm/model/description/1.0", type = Feature.class),
145
    	@XmlElement(name = "HybridRelationshipType", namespace = "http://etaxonomy.eu/cdm/model/name/1.0", type = HybridRelationshipType.class),
146
    	@XmlElement(name = "InstitutionType", namespace = "http://etaxonomy.eu/cdm/model/agent/1.0", type = InstitutionType.class),
147
    	@XmlElement(name = "Language", namespace = "http://etaxonomy.eu/cdm/model/common/1.0", type = Language.class),
148
    	@XmlElement(name = "MarkerType", namespace = "http://etaxonomy.eu/cdm/model/common/1.0", type = MarkerType.class),
149
    	@XmlElement(name = "MeasurementUnit", namespace = "http://etaxonomy.eu/cdm/model/description/1.0", type = MeasurementUnit.class),
150
    	@XmlElement(name = "Modifier", namespace = "http://etaxonomy.eu/cdm/model/description/1.0", type = Modifier.class),
151
    	@XmlElement(name = "NamedArea", namespace = "http://etaxonomy.eu/cdm/model/location/1.0", type = TdwgArea.class),
152
    	@XmlElement(name = "NamedAreaLevel", namespace = "http://etaxonomy.eu/cdm/model/location/1.0", type = NamedAreaLevel.class),
153
    	@XmlElement(name = "NamedAreaType", namespace = "http://etaxonomy.eu/cdm/model/location/1.0", type = NamedAreaType.class),
154
    	@XmlElement(name = "NameRelationshipType", namespace = "http://etaxonomy.eu/cdm/model/name/1.0", type = NameRelationshipType.class),
155
    	@XmlElement(name = "NameTypeDesignationStatus", namespace = "http://etaxonomy.eu/cdm/model/name/1.0", type = NameTypeDesignationStatus.class),
156
    	@XmlElement(name = "NomenclaturalCode", namespace = "http://etaxonomy.eu/cdm/model/name/1.0", type = NomenclaturalCode.class),
157
    	@XmlElement(name = "NomenclaturalStatusType", namespace = "http://etaxonomy.eu/cdm/model/name/1.0", type = NomenclaturalStatusType.class),
158
    	@XmlElement(name = "PresenceTerm", namespace = "http://etaxonomy.eu/cdm/model/description/1.0", type = PresenceTerm.class),
159
    	@XmlElement(name = "PreservationMethod", namespace = "http://etaxonomy.eu/cdm/model/occurrence/1.0", type = PreservationMethod.class),
160
        @XmlElement(name = "Rank", namespace = "http://etaxonomy.eu/cdm/model/name/1.0", type = Rank.class),
161
    	@XmlElement(name = "ReferenceSystem", namespace = "http://etaxonomy.eu/cdm/model/location/1.0", type = ReferenceSystem.class),
162
    	@XmlElement(name = "RightsTerm", namespace = "http://etaxonomy.eu/cdm/model/media/1.0", type = RightsTerm.class),
163
    	@XmlElement(name = "Scope", namespace = "http://etaxonomy.eu/cdm/model/description/1.0", type = Scope.class),
164
    	@XmlElement(name = "Sex", namespace = "http://etaxonomy.eu/cdm/model/description/1.0", type = Sex.class),
165
    	@XmlElement(name = "SpecimenTypeDesignationStatus", namespace = "http://etaxonomy.eu/cdm/model/name/1.0", type = SpecimenTypeDesignationStatus.class),
166
    	@XmlElement(name = "Stage", namespace = "http://etaxonomy.eu/cdm/model/description/1.0", type = Stage.class),
167
    	@XmlElement(name = "State", namespace = "http://etaxonomy.eu/cdm/model/description/1.0", type = State.class),
168
    	@XmlElement(name = "StatisticalMeasure", namespace = "http://etaxonomy.eu/cdm/model/description/1.0", type = StatisticalMeasure.class),
169
    	@XmlElement(name = "SynonymRelationshipType", namespace = "http://etaxonomy.eu/cdm/model/taxon/1.0", type = SynonymRelationshipType.class),
170
    	@XmlElement(name = "TaxonRelationshipType", namespace = "http://etaxonomy.eu/cdm/model/taxon/1.0", type = TaxonRelationshipType.class),
171
    	//    	@XmlElement(name = "TdwgArea", namespace = "http://etaxonomy.eu/cdm/model/location/1.0", type = TdwgArea.class),
172
    	@XmlElement(name = "TextFormat", namespace = "http://etaxonomy.eu/cdm/model/description/1.0", type = TextFormat.class),
173
    	@XmlElement(name = "WaterbodyOrCountry", namespace = "http://etaxonomy.eu/cdm/model/location/1.0", type = WaterbodyOrCountry.class)
174
    	
175
    })
176
    protected List<DefinedTermBase> terms = new ArrayList<DefinedTermBase>();
177
	
178
	@XmlElementWrapper(name = "TermVocabularies")
179
    @XmlElements({
180
        @XmlElement(name = "TermVocabulary", namespace = "http://etaxonomy.eu/cdm/model/common/1.0", type = TermVocabulary.class),
181
        @XmlElement(name = "OrderedTermVocabulary", namespace = "http://etaxonomy.eu/cdm/model/common/1.0", type = OrderedTermVocabulary.class)
182
    })
183
        
184
    protected List<TermVocabulary<DefinedTermBase>> termVocabularies = new ArrayList<TermVocabulary<DefinedTermBase>>();
185
	
186
	
187
    @XmlElementWrapper(name = "Agents")
188
    @XmlElements({             
189
        @XmlElement(name = "Team", namespace = "http://etaxonomy.eu/cdm/model/agent/1.0", type = Team.class),
190
        @XmlElement(name = "Institution", namespace = "http://etaxonomy.eu/cdm/model/agent/1.0", type = Institution.class),
191
        @XmlElement(name = "Person", namespace = "http://etaxonomy.eu/cdm/model/agent/1.0", type = Person.class)
192
    })
193
    protected List<AgentBase> agents = new ArrayList<AgentBase>();
194

    
195

    
196
    @XmlElementWrapper(name = "Collections")
197
    @XmlElement(name = "Collection", namespace = "http://etaxonomy.eu/cdm/model/occurrence/1.0")
198
    protected List<eu.etaxonomy.cdm.model.occurrence.Collection> collections = new ArrayList<eu.etaxonomy.cdm.model.occurrence.Collection>();
199
        
200
    @XmlElementWrapper(name = "FeatureTrees")
201
    @XmlElements({
202
      @XmlElement(name = "FeatureTree", namespace = "http://etaxonomy.eu/cdm/model/description/1.0", type = FeatureTree.class)
203
    })
204
    protected List<FeatureTree> featureTrees = new ArrayList<FeatureTree>();
205
    
206
    @XmlElementWrapper(name = "PolytomousKeys")
207
    @XmlElements({
208
      @XmlElement(name = "PolytomousKey", namespace = "http://etaxonomy.eu/cdm/model/description/1.0", type = PolytomousKey.class)
209
    })
210
    protected List<PolytomousKey> polytomousKeys = new ArrayList<PolytomousKey>();
211
    
212
    
213
    @XmlElementWrapper(name = "Classifications")
214
    @XmlElement(name = "Classification", namespace = "http://etaxonomy.eu/cdm/model/taxon/1.0")
215
    protected List<Classification> classifications = new ArrayList<Classification>();
216
    
217
    @XmlElementWrapper(name = "TaxonNodes")
218
    @XmlElement(name = "TaxonNodes", namespace = "http://etaxonomy.eu/cdm/model/taxon/1.0")
219
    protected List<TaxonNode> taxonNodes = new ArrayList<TaxonNode>();
220
   
221
    protected List<LanguageString> languageStrings =new ArrayList<LanguageString>();
222
      
223

    
224
    @XmlElementWrapper(name = "Occurrences")
225
    @XmlElements({
226
    	@XmlElement(name = "DerivedUnit", namespace = "http://etaxonomy.eu/cdm/model/occurrence/1.0", type = DerivedUnit.class),
227
    	@XmlElement(name = "DnaSample", namespace = "http://etaxonomy.eu/cdm/model/occurrence/1.0", type = DnaSample.class),
228
    	@XmlElement(name = "FieldObservation", namespace = "http://etaxonomy.eu/cdm/model/occurrence/1.0", type = FieldObservation.class),
229
    	@XmlElement(name = "Fossil", namespace = "http://etaxonomy.eu/cdm/model/occurrence/1.0", type = Fossil.class),
230
    	@XmlElement(name = "LivingBeing", namespace = "http://etaxonomy.eu/cdm/model/occurrence/1.0", type = LivingBeing.class),
231
    	@XmlElement(name = "Observation", namespace = "http://etaxonomy.eu/cdm/model/occurrence/1.0", type = Observation.class),
232
    	@XmlElement(name = "Specimen", namespace = "http://etaxonomy.eu/cdm/model/occurrence/1.0", type = Specimen.class)
233
    })
234
    protected List<SpecimenOrObservationBase> occurrences = new ArrayList<SpecimenOrObservationBase>();
235
    
236
    @XmlElementWrapper(name = "EventBases")
237
    @XmlElements({
238
    	@XmlElement(name = "DerivationEvent", namespace = "http://etaxonomy.eu/cdm/model/occurrence/1.0", type = DerivationEvent.class),
239
    	@XmlElement(name = "GatheringEvent", namespace = "http://etaxonomy.eu/cdm/model/occurrence/1.0", type = GatheringEvent.class)
240
    })
241
    protected List<EventBase> eventBases = new ArrayList<EventBase>();
242
    
243
    @XmlElementWrapper(name = "References")
244
    @XmlElements({
245
    	@XmlElement(name = "Reference", namespace = "http://etaxonomy.eu/cdm/model/reference/1.0", type = Reference.class)
246
    })
247
    protected List<Reference> references = new ArrayList<Reference>();
248

    
249
    @XmlElementWrapper(name = "TypeDesignations")
250
    @XmlElements({
251
    	@XmlElement(name = "NameTypeDesignation", namespace = "http://etaxonomy.eu/cdm/model/name/1.0", type = NameTypeDesignation.class),
252
    	@XmlElement(name = "SpecimenTypeDesignation", namespace = "http://etaxonomy.eu/cdm/model/name/1.0", type = SpecimenTypeDesignation.class)
253
    })
254
    protected List<TypeDesignationBase> typeDesignations = new ArrayList<TypeDesignationBase>();
255
    	
256
    @XmlElementWrapper(name = "TaxonomicNames")
257
    @XmlElements({
258
    	@XmlElement(name = "BacterialName", namespace = "http://etaxonomy.eu/cdm/model/name/1.0", type = BacterialName.class),
259
    	@XmlElement(name = "BotanicalName", namespace = "http://etaxonomy.eu/cdm/model/name/1.0", type = BotanicalName.class),
260
    	@XmlElement(name = "CultivarPlantName", namespace = "http://etaxonomy.eu/cdm/model/name/1.0", type = CultivarPlantName.class),
261
    	@XmlElement(name = "NonViralName", namespace = "http://etaxonomy.eu/cdm/model/name/1.0", type = NonViralName.class),
262
    	@XmlElement(name = "ViralName", namespace = "http://etaxonomy.eu/cdm/model/name/1.0", type = ViralName.class),
263
    	@XmlElement(name = "ZoologicalName", namespace = "http://etaxonomy.eu/cdm/model/name/1.0", type = ZoologicalName.class)
264
    })
265
    protected List<TaxonNameBase> taxonomicNames = new ArrayList<TaxonNameBase>();
266

    
267
    @XmlElementWrapper(name = "TaxonBases")
268
    @XmlElements({
269
      @XmlElement(name = "Taxon", namespace = "http://etaxonomy.eu/cdm/model/taxon/1.0", type = Taxon.class),
270
      @XmlElement(name = "Synonym", namespace = "http://etaxonomy.eu/cdm/model/taxon/1.0", type = Synonym.class)
271
    })
272
    protected List<TaxonBase> taxonBases = new ArrayList<TaxonBase>();
273

    
274
    @XmlElementWrapper(name = "Media")
275
    @XmlElements({
276
      @XmlElement(name = "Media", namespace = "http://etaxonomy.eu/cdm/model/media/1.0", type = Media.class),
277
      @XmlElement(name = "MediaKey", namespace = "http://etaxonomy.eu/cdm/model/description/1.0", type = MediaKey.class),
278
      @XmlElement(name = "Figure", namespace = "http://etaxonomy.eu/cdm/model/common/1.0", type = Figure.class),
279
      @XmlElement(name = "PhylogeneticTree", namespace = "http://etaxonomy.eu/cdm/model/molecular/1.0", type = PhylogeneticTree.class)
280
    })
281
    protected List<Media> media = new ArrayList<Media>();
282
        
283
    @XmlElementWrapper(name = "HomotypicalGroups")
284
    @XmlElement(name = "HomotypicalGroup", namespace = "http://etaxonomy.eu/cdm/model/name/1.0")
285
    protected List<HomotypicalGroup> homotypicalGroups = new ArrayList<HomotypicalGroup>();
286
    
287
    @XmlElementWrapper(name = "Users")
288
    @XmlElement(name = "User", namespace = "http://etaxonomy.eu/cdm/model/common/1.0")
289
    protected List<User> users = new ArrayList<User>();
290
    
291
    @XmlElementWrapper(name = "Groups")
292
    @XmlElement(name = "Group", namespace = "http://etaxonomy.eu/cdm/model/common/1.0")
293
    protected List<Group> groups = new ArrayList<Group>();
294
    
295
    @XmlElementWrapper(name = "GrantedAuthorities")
296
    @XmlElement(name = "GrantedAuthority", namespace = "http://etaxonomy.eu/cdm/model/common/1.0", type = GrantedAuthorityImpl.class)
297
    protected List<GrantedAuthority> grantedAuthorities = new ArrayList<GrantedAuthority>();
298

    
299
    /**
300
     * Gets the value of the agents property.
301
     * 
302
     * @return
303
     *     possible object is
304
     *     {@link List<Agent> }
305
     *     
306
     */
307
    public List<AgentBase> getAgents() {
308
        return agents;
309
    }
310

    
311
    /**
312
     * Sets the value of the agents property.
313
     * 
314
     * @param value
315
     *     allowed object is
316
     *     {@link List<Agent> }
317
     *     
318
     */
319
    public void setAgents(List<AgentBase> value) {
320
        this.agents = value;
321
    }
322

    
323
    /**
324
     * Gets the value of the collections property.
325
     * 
326
     * @return
327
     *     possible object is
328
     *     {@link List<eu.etaxonomy.cdm.model.occurrence.Collection> }
329
     *     
330
     */
331
    public List<eu.etaxonomy.cdm.model.occurrence.Collection> getCollections() {
332
        return collections;
333
    }
334

    
335
    /**
336
     * Sets the value of the collections property.
337
     * 
338
     * @param value
339
     *     allowed object is
340
     *     {@link List<eu.etaxonomy.cdm.model.occurrence.Collection> }
341
     *     
342
     */
343
    public void setCollections(List<eu.etaxonomy.cdm.model.occurrence.Collection> value) {
344
        this.collections = value;
345
    }
346

    
347
    /**
348
     * Gets the value of the terms property.
349
     * 
350
     * @return
351
     *     possible object is
352
     *     {@link List<TermBase> }
353
     *     
354
     */
355
    public List<DefinedTermBase> getTerms() {
356
        return terms;
357
    }
358

    
359
    /**
360
     * Sets the value of the terms property.
361
     * 
362
     * @param value
363
     *     allowed object is
364
     *     {@link List<TermBase> }
365
     *     
366
     */
367
    public void setTerms(List<DefinedTermBase> value) {
368
        this.terms = value;
369
    }
370

    
371
    /**
372
     * Gets the value of the term vocabularies property.
373
     * 
374
     * @return
375
     *     possible object is
376
     *     {@link List<TermVocabulary> }
377
     *     
378
     */
379
    
380
    public List<TermVocabulary<DefinedTermBase>> getTermVocabularies() {
381
        return termVocabularies;
382
    }
383

    
384
    /**
385
     * Sets the value of the term vocabularies property.
386
     * 
387
     * @param value
388
     *     allowed object is
389
     *     {@link List<TermVocabulary> }
390
     *     
391
     */
392
    public void setTermVocabularies(List<TermVocabulary<DefinedTermBase>> value) {
393
        this.termVocabularies = value;
394
    }
395
    
396
    
397

    
398
    /**
399
     * Gets the value of the taxonomicNames property.
400
     * 
401
     * @return
402
     *     possible object is
403
     *     {@link List<axonNameBase> }
404
     *     
405
     */
406
    public List<TaxonNameBase> getTaxonomicNames() {
407
        return taxonomicNames;
408
    }
409

    
410
    /**
411
     * Sets the value of the taxonomicNames property.
412
     * 
413
     * @param value
414
     *     allowed object is
415
     *     {@link List<TaxonNameBase> }
416
     *     
417
     */
418
    public void setTaxonomicNames(List<TaxonNameBase> value) {
419
        this.taxonomicNames = value;
420
    }
421
    
422
    /**
423
     * Gets the value of the eventBases property.
424
     * 
425
     * @return
426
     *     possible object is
427
     *     {@link List<EventBase> }
428
     *     
429
     */
430
    public List<EventBase> getEventBases() {
431
        return eventBases;
432
    }
433

    
434
    /**
435
     * Sets the value of the eventBases property.
436
     * 
437
     * @param value
438
     *     allowed object is
439
     *     {@link List<EventBase> }
440
     *     
441
     */
442
    public void setEventBases(List<EventBase> value) {
443
        this.eventBases = value;
444
    }
445

    
446
    /**
447
     * Gets the value of the occurrences property.
448
     * 
449
     * @return
450
     *     possible object is
451
     *     {@link List<SpecimenOrObservationBase> }
452
     *     
453
     */
454
    public List<SpecimenOrObservationBase> getOccurrences() {
455
        return occurrences;
456
    }
457

    
458
    /**
459
     * Sets the value of the occurrences property.
460
     * 
461
     * @param value
462
     *     allowed object is
463
     *     {@link List<SpecimenOrObservationBase> }
464
     *     
465
     */
466
    public void setOccurrences(List<SpecimenOrObservationBase> value) {
467
        this.occurrences = value;
468
    }
469
    /*
470
    * Gets the value of the occurrences property.
471
    * 
472
    * @return
473
    *     possible object is
474
    *     {@link List<LanguageStringBase> }
475
    *     
476
    */
477
   public List<LanguageString> getLanguageStrings() {
478
       return languageStrings;
479
   }
480

    
481
   /**
482
    * Sets the value of the occurrences property.
483
    * 
484
    * @param value
485
    *     allowed object is
486
    *     {@link List<SpecimenOrObservationBase> }
487
    *     
488
    */
489
   public void setLanguageStrings(List<LanguageString> value) {
490
       this.languageStrings = value;
491
   }
492
    /**
493
     * Gets the value of the references property.
494
     * 
495
     * @return
496
     *     possible object is
497
     *     {@link List<Reference> }
498
     *     
499
     */
500
    public List<Reference> getReferences() {
501
        return references;
502
    }
503

    
504
    /**
505
     * Sets the value of the references property.
506
     * 
507
     * @param value
508
     *     allowed object is
509
     *     {@link List<Reference> }
510
     *     
511
     */
512
    public void setReferences(List<Reference> value) {
513
        this.references = value;
514
    }
515

    
516
    /**
517
     * Gets the value of the featureTrees property.
518
     * 
519
     * @return
520
     *     possible object is
521
     *     {@link List<FeatureTree> }
522
     *     
523
     */
524
    public List<FeatureTree> getFeatureTrees() {
525
        return featureTrees;
526
    }
527
    
528

    
529
    /**
530
     * Gets the value of the polytomousKeys property.
531
     * 
532
     * @return
533
     *     possible object is
534
     *     {@link List<PolytomousKey> }
535
     *     
536
     */
537
    public List<PolytomousKey> getPolytomousKeys() {
538
        return polytomousKeys;
539
    }
540

    
541
    /**
542
     * Sets the value of the featureTrees property.
543
     * 
544
     * @param value
545
     *     allowed object is
546
     *     {@link List<FeatureTree> }
547
     *     
548
     */
549
    public void setClassifications(List<Classification> value) {
550
    	this.classifications = value;
551
    }
552
    
553
    
554
    /**
555
     * Gets the value of the featureTrees property.
556
     * 
557
     * @return
558
     *     possible object is
559
     *     {@link List<FeatureTree> }
560
     *     
561
     */
562
    public List<Classification> getClassifications() {
563
        return classifications;
564
    }
565
    /**
566
     * Sets the value of the featureTrees property.
567
     * 
568
     * @param value
569
     *     allowed object is
570
     *     {@link List<FeatureTree> }
571
     *     
572
     */
573
    public void setTaxonNodes(List<TaxonNode> value) {
574
    	this.taxonNodes = value;
575
    }
576
    
577
    
578
    /**
579
     * Gets the value of the featureTrees property.
580
     * 
581
     * @return
582
     *     possible object is
583
     *     {@link List<FeatureTree> }
584
     *     
585
     */
586
    public List<TaxonNode> getTaxonNodes() {
587
        return taxonNodes;
588
    }
589

    
590
    /**
591
     * Sets the value of the featureTrees property.
592
     * 
593
     * @param value
594
     *     allowed object is
595
     *     {@link List<FeatureTree> }
596
     *     
597
     */
598
    public void setFeatureTrees(List<FeatureTree> value) {
599
    	this.featureTrees = value;
600
    }
601
    
602
    /**
603
     * Sets the value of the polytomousKeys property.
604
     * 
605
     * @param value
606
     *     allowed object is
607
     *     {@link List<PolytomousKey> }
608
     *     
609
     */
610
    public void setPolytomousKeys(List<PolytomousKey> value) {
611
    	this.polytomousKeys = value;
612
    }
613
    
614
    /**
615
     * Adds the taxonBases in value to the taxonBases property list.
616
     * 
617
     * @param value
618
     *     allowed object is
619
     *     {@link Collection<TaxonBase> }
620
     *     
621
     */
622
    public void addTaxonBases(Collection<TaxonBase> value) {
623
    	this.taxonBases.addAll(value);
624
    }
625

    
626
    /**
627
     * Gets the value of the taxonBases property as {@link Collection<TaxonBase> }
628
     * 
629
     * @return
630
     *     possible object is
631
     *     {@link List<TaxonBase> }
632
     *     
633
     */
634
    public List<TaxonBase> getTaxonBases() {
635
    	return taxonBases;
636
    }
637

    
638
    /**
639
     * Sets the value of the taxonBases property.
640
     * 
641
     * @param value
642
     *     allowed object is
643
     *     {@link List<TaxonBase> }
644
     *     
645
     */
646
    public void setTaxonBases(List<TaxonBase> value) {
647
        this.taxonBases = value;
648
    }
649

    
650
    /**
651
     * Adds the taxonBase in value to the taxonBases property list.
652
     * 
653
     * @param value
654
     *     
655
     */
656
    public void addTaxonBase(TaxonBase value) {
657
    		this.taxonBases.add(value);
658
    }
659

    
660
    /**
661
     * Adds the media in value to the media property list.
662
     * 
663
     * @param value
664
     *     allowed object is
665
     *     {@link Collection<VersionableEntity> }
666
     *     
667
     */
668
    public <T extends Media> void addMedia(Collection<T> value) {
669
    	for (T medium: value) {
670
    		this.media.add(medium);
671
    	}
672
    }
673

    
674
    /**
675
     * Gets the value of the  property.
676
     * 
677
     * @return
678
     *     possible object is
679
     *     {@link List<ReferencedEntityBase> }
680
     *     
681
     */
682
    public List<Media> getMedia() {
683
        return media;
684
    }
685

    
686
    /**
687
     * Sets the value of the referencedEntities property.
688
     * 
689
     * @param value
690
     *     allowed object is
691
     *     {@link List<ReferencedEntityBase> }
692
     *     
693
     */
694
    public void setMedia(List<Media> value) {
695
        this.media = new ArrayList<Media>();
696
        media.addAll(value);
697
    }
698
    
699
    /**
700
     * Gets the value of the synonyms property.
701
     * 
702
     * @return
703
     *     possible object is
704
     *     {@link List<Synonym> }
705
     *     
706
     */
707
    public List<HomotypicalGroup> getHomotypicalGroups() {
708
        return homotypicalGroups;
709
    }
710

    
711
    /**
712
     * Sets the value of the synonyms property.
713
     * 
714
     * @param value
715
     *     allowed object is
716
     *     {@link List<Synonym> }
717
     *     
718
     */
719
    public void setHomotypicalGroups(List<HomotypicalGroup> value) {
720
        this.homotypicalGroups = value;
721
    }
722

    
723
    /**
724
     * Gets the value of the typeDesignations property.
725
     * 
726
     * @return
727
     *     possible object is
728
     *     {@link List<TypeDesignationBase> }
729
     *     
730
     */
731
    public List<TypeDesignationBase> getTypeDesignations() {
732
    	return typeDesignations;
733
    }
734
    
735
    /**
736
     * Sets the value of the typeDesignations property.
737
     * 
738
     * @param value
739
     *     allowed object is
740
     *     {@link List<TypeDesignationBase> }
741
     *     
742
     */
743
	public void addTypeDesignations(List<TypeDesignationBase> typeDesignations) {
744
		this.typeDesignations.addAll(typeDesignations);
745
	}
746

    
747
	/**
748
     * Gets the value of the users property.
749
     * 
750
     * @return
751
     *     possible object is
752
     *     {@link List<User> }
753
     *     
754
     */
755
	public List<User> getUsers() {
756
		return users;
757
	}
758

    
759
	/**
760
     * Sets the value of the users property.
761
     * 
762
     * @param value
763
     *     allowed object is
764
     *     {@link List<User> }
765
     *     
766
     */
767
	public void setUsers(List<User> users) {
768
		this.users = users;
769
	}
770

    
771
	/**
772
     * Gets the value of the groups property.
773
     * 
774
     * @return
775
     *     possible object is
776
     *     {@link List<Group> }
777
     *     
778
     */
779
	public List<Group> getGroups() {
780
		return groups;
781
	}
782

    
783
	/**
784
     * Sets the value of the groups property.
785
     * 
786
     * @param value
787
     *     allowed object is
788
     *     {@link List<Group> }
789
     *     
790
     */
791
	public void setGroups(List<Group> groups) {
792
		this.groups = groups;
793
	}
794

    
795
	/**
796
     * Gets the value of the grantedAuthorities property.
797
     * 
798
     * @return
799
     *     possible object is
800
     *     {@link List<GrantedAuthority> }
801
     *     
802
     */
803
	public List<GrantedAuthority> getGrantedAuthorities() {
804
		return grantedAuthorities;
805
	}
806

    
807
	/**
808
     * Sets the value of the grantedAuthorities property.
809
     * 
810
     * @param value
811
     *     allowed object is
812
     *     {@link List<GrantedAuthority> }
813
     *     
814
     */
815
	public void setGrantedAuthorities(List<GrantedAuthority> grantedAuthorities) {
816
		this.grantedAuthorities = grantedAuthorities;
817
	}
818

    
819
	public void addUser(User deproxy) {
820
		this.users.add(deproxy);
821
		
822
	}    
823
}
(6-6/17)