2 * Copyright (C) 2007 EDIT
3 * European Distributed Institute of Taxonomy
4 * http://www.e-taxonomy.eu
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.
10 package eu
.etaxonomy
.cdm
.io
.sdd
.out
;
12 import java
.util
.ArrayList
;
13 import java
.util
.Collection
;
14 import java
.util
.HashSet
;
15 import java
.util
.List
;
18 import javax
.xml
.bind
.annotation
.XmlAccessType
;
19 import javax
.xml
.bind
.annotation
.XmlAccessorType
;
20 import javax
.xml
.bind
.annotation
.XmlElement
;
21 import javax
.xml
.bind
.annotation
.XmlElementWrapper
;
22 import javax
.xml
.bind
.annotation
.XmlElements
;
23 import javax
.xml
.bind
.annotation
.XmlRootElement
;
24 import javax
.xml
.bind
.annotation
.XmlType
;
26 import eu
.etaxonomy
.cdm
.model
.agent
.Address
;
27 import eu
.etaxonomy
.cdm
.model
.agent
.AgentBase
;
28 import eu
.etaxonomy
.cdm
.model
.agent
.Contact
;
29 import eu
.etaxonomy
.cdm
.model
.agent
.Institution
;
30 import eu
.etaxonomy
.cdm
.model
.agent
.InstitutionType
;
31 import eu
.etaxonomy
.cdm
.model
.agent
.InstitutionalMembership
;
32 import eu
.etaxonomy
.cdm
.model
.agent
.Person
;
33 import eu
.etaxonomy
.cdm
.model
.agent
.Team
;
34 import eu
.etaxonomy
.cdm
.model
.common
.AnnotationType
;
35 import eu
.etaxonomy
.cdm
.model
.common
.DefinedTermBase
;
36 import eu
.etaxonomy
.cdm
.model
.common
.ExtensionType
;
37 import eu
.etaxonomy
.cdm
.model
.common
.Language
;
38 import eu
.etaxonomy
.cdm
.model
.common
.LanguageString
;
39 import eu
.etaxonomy
.cdm
.model
.common
.LanguageStringBase
;
40 import eu
.etaxonomy
.cdm
.model
.common
.MarkerType
;
41 import eu
.etaxonomy
.cdm
.model
.common
.ReferencedEntityBase
;
42 import eu
.etaxonomy
.cdm
.model
.common
.RelationshipBase
;
43 import eu
.etaxonomy
.cdm
.model
.common
.Representation
;
44 import eu
.etaxonomy
.cdm
.model
.common
.TermVocabulary
;
45 import eu
.etaxonomy
.cdm
.model
.common
.VersionableEntity
;
46 import eu
.etaxonomy
.cdm
.model
.description
.AbsenceTerm
;
47 import eu
.etaxonomy
.cdm
.model
.description
.Feature
;
48 import eu
.etaxonomy
.cdm
.model
.description
.FeatureNode
;
49 import eu
.etaxonomy
.cdm
.model
.description
.FeatureTree
;
50 import eu
.etaxonomy
.cdm
.model
.description
.MeasurementUnit
;
51 import eu
.etaxonomy
.cdm
.model
.description
.Modifier
;
52 import eu
.etaxonomy
.cdm
.model
.description
.PresenceTerm
;
53 import eu
.etaxonomy
.cdm
.model
.description
.Scope
;
54 import eu
.etaxonomy
.cdm
.model
.description
.Sex
;
55 import eu
.etaxonomy
.cdm
.model
.description
.Stage
;
56 import eu
.etaxonomy
.cdm
.model
.description
.State
;
57 import eu
.etaxonomy
.cdm
.model
.description
.StatisticalMeasure
;
58 import eu
.etaxonomy
.cdm
.model
.description
.TextFormat
;
59 import eu
.etaxonomy
.cdm
.model
.location
.Continent
;
60 import eu
.etaxonomy
.cdm
.model
.location
.NamedArea
;
61 import eu
.etaxonomy
.cdm
.model
.location
.NamedAreaLevel
;
62 import eu
.etaxonomy
.cdm
.model
.location
.NamedAreaType
;
63 import eu
.etaxonomy
.cdm
.model
.location
.ReferenceSystem
;
64 import eu
.etaxonomy
.cdm
.model
.location
.WaterbodyOrCountry
;
65 import eu
.etaxonomy
.cdm
.model
.media
.RightsTerm
;
66 import eu
.etaxonomy
.cdm
.model
.molecular
.DnaSample
;
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
.HybridRelationship
;
72 import eu
.etaxonomy
.cdm
.model
.name
.HybridRelationshipType
;
73 import eu
.etaxonomy
.cdm
.model
.name
.NameRelationship
;
74 import eu
.etaxonomy
.cdm
.model
.name
.NameRelationshipType
;
75 import eu
.etaxonomy
.cdm
.model
.name
.NameTypeDesignation
;
76 import eu
.etaxonomy
.cdm
.model
.name
.NomenclaturalCode
;
77 import eu
.etaxonomy
.cdm
.model
.name
.NomenclaturalStatus
;
78 import eu
.etaxonomy
.cdm
.model
.name
.NomenclaturalStatusType
;
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
.ViralName
;
84 import eu
.etaxonomy
.cdm
.model
.name
.ZoologicalName
;
85 import eu
.etaxonomy
.cdm
.model
.occurrence
.DerivationEventType
;
86 import eu
.etaxonomy
.cdm
.model
.occurrence
.DeterminationModifier
;
87 import eu
.etaxonomy
.cdm
.model
.occurrence
.FieldObservation
;
88 import eu
.etaxonomy
.cdm
.model
.occurrence
.Fossil
;
89 import eu
.etaxonomy
.cdm
.model
.occurrence
.LivingBeing
;
90 import eu
.etaxonomy
.cdm
.model
.occurrence
.Observation
;
91 import eu
.etaxonomy
.cdm
.model
.occurrence
.PreservationMethod
;
92 import eu
.etaxonomy
.cdm
.model
.occurrence
.Specimen
;
93 import eu
.etaxonomy
.cdm
.model
.occurrence
.SpecimenOrObservationBase
;
94 import eu
.etaxonomy
.cdm
.model
.reference
.Reference
;
95 import eu
.etaxonomy
.cdm
.model
.taxon
.Synonym
;
96 import eu
.etaxonomy
.cdm
.model
.taxon
.SynonymRelationship
;
97 import eu
.etaxonomy
.cdm
.model
.taxon
.SynonymRelationshipType
;
98 import eu
.etaxonomy
.cdm
.model
.taxon
.Taxon
;
99 import eu
.etaxonomy
.cdm
.model
.taxon
.TaxonBase
;
100 import eu
.etaxonomy
.cdm
.model
.taxon
.TaxonRelationship
;
101 import eu
.etaxonomy
.cdm
.model
.taxon
.TaxonRelationshipType
;
104 * @author a.babadshanjan
106 @XmlAccessorType(XmlAccessType
.FIELD
)
107 @XmlType(name
= "", propOrder
= {
114 "referencedEntities",
124 @XmlRootElement(name
= "DataSet", namespace
= "http://etaxonomy.eu/cdm/model/1.0")
125 public class SDDDataSet
{
127 // Some fields are of type List and some are of type Set.
128 // This is mainly because
129 // the service classes return lists, i.e.
130 // TaxonServiceImpl.getRootTaxa() returns List<Taxon>
131 // and the Taxon methods return sets, i.e.
132 // Taxon.getTaxonomicChildren() returns Set<Taxon>.
134 @XmlElementWrapper(name
= "Agents")
136 @XmlElement(name
= "Team", namespace
= "http://etaxonomy.eu/cdm/model/agent/1.0", type
= Team
.class),
137 @XmlElement(name
= "Institution", namespace
= "http://etaxonomy.eu/cdm/model/agent/1.0", type
= Institution
.class),
138 @XmlElement(name
= "Person", namespace
= "http://etaxonomy.eu/cdm/model/agent/1.0", type
= Person
.class)
140 protected List
<?
extends AgentBase
> agents
;
142 @XmlElementWrapper(name
= "AgentData")
144 @XmlElement(name
= "Address", namespace
= "http://etaxonomy.eu/cdm/model/agent/1.0", type
= Address
.class),
145 @XmlElement(name
= "Contact", namespace
= "http://etaxonomy.eu/cdm/model/agent/1.0", type
= Contact
.class),
146 @XmlElement(name
= "InstitutionalMembership", namespace
= "http://etaxonomy.eu/cdm/model/agent/1.0", type
= InstitutionalMembership
.class)
148 protected List
<VersionableEntity
> agentData
;
150 @XmlElementWrapper(name
= "FeatureData")
152 @XmlElement(name
= "FeatureNode", namespace
= "http://etaxonomy.eu/cdm/model/description/1.0", type
= FeatureNode
.class),
153 @XmlElement(name
= "FeatureTree", namespace
= "http://etaxonomy.eu/cdm/model/description/1.0", type
= FeatureTree
.class)
155 // protected List<VersionableEntity> featureData;
156 protected List
<VersionableEntity
> featureData
;
158 @XmlElementWrapper(name
= "LanguageData")
160 @XmlElement(name
= "Representation", namespace
= "http://etaxonomy.eu/cdm/model/common/1.0", type
= Representation
.class),
161 @XmlElement(name
= "LanguageString", namespace
= "http://etaxonomy.eu/cdm/model/common/1.0", type
= LanguageString
.class)
163 protected List
<LanguageStringBase
> languageData
;
165 @XmlElementWrapper(name
= "Terms")
167 @XmlElement(name
= "AbsenceTerm", namespace
= "http://etaxonomy.eu/cdm/model/description/1.0", type
= AbsenceTerm
.class),
168 @XmlElement(name
= "AnnotationType", namespace
= "http://etaxonomy.eu/cdm/model/common/1.0", type
= AnnotationType
.class),
169 @XmlElement(name
= "Continent", namespace
= "http://etaxonomy.eu/cdm/model/location/1.0", type
= Continent
.class),
170 @XmlElement(name
= "DerivationEventType", namespace
= "http://etaxonomy.eu/cdm/model/occurrence/1.0", type
= DerivationEventType
.class),
171 @XmlElement(name
= "DeterminationModifier", namespace
= "http://etaxonomy.eu/cdm/model/occurrence/1.0", type
= DeterminationModifier
.class),
172 @XmlElement(name
= "ExtensionType", namespace
= "http://etaxonomy.eu/cdm/model/common/1.0", type
= ExtensionType
.class),
173 @XmlElement(name
= "Feature", namespace
= "http://etaxonomy.eu/cdm/model/description/1.0", type
= Feature
.class),
174 @XmlElement(name
= "HybridRelationshipType", namespace
= "http://etaxonomy.eu/cdm/model/name/1.0", type
= HybridRelationshipType
.class),
175 @XmlElement(name
= "InstitutionType", namespace
= "http://etaxonomy.eu/cdm/model/agent/1.0", type
= InstitutionType
.class),
176 @XmlElement(name
= "Language", namespace
= "http://etaxonomy.eu/cdm/model/common/1.0", type
= Language
.class),
177 @XmlElement(name
= "MarkerType", namespace
= "http://etaxonomy.eu/cdm/model/common/1.0", type
= MarkerType
.class),
178 @XmlElement(name
= "MeasurementUnit", namespace
= "http://etaxonomy.eu/cdm/model/description/1.0", type
= MeasurementUnit
.class),
179 @XmlElement(name
= "Modifier", namespace
= "http://etaxonomy.eu/cdm/model/description/1.0", type
= Modifier
.class),
180 @XmlElement(name
= "NamedArea", namespace
= "http://etaxonomy.eu/cdm/model/location/1.0", type
= NamedArea
.class),
181 @XmlElement(name
= "NamedAreaLevel", namespace
= "http://etaxonomy.eu/cdm/model/location/1.0", type
= NamedAreaLevel
.class),
182 @XmlElement(name
= "NamedAreaType", namespace
= "http://etaxonomy.eu/cdm/model/location/1.0", type
= NamedAreaType
.class),
183 @XmlElement(name
= "NameRelationshipType", namespace
= "http://etaxonomy.eu/cdm/model/name/1.0", type
= NameRelationshipType
.class),
184 @XmlElement(name
= "NomenclaturalCode", namespace
= "http://etaxonomy.eu/cdm/model/name/1.0", type
= NomenclaturalCode
.class),
185 @XmlElement(name
= "NomenclaturalStatusType", namespace
= "http://etaxonomy.eu/cdm/model/name/1.0", type
= NomenclaturalStatusType
.class),
186 @XmlElement(name
= "PresenceTerm", namespace
= "http://etaxonomy.eu/cdm/model/description/1.0", type
= PresenceTerm
.class),
187 @XmlElement(name
= "PreservationMethod", namespace
= "http://etaxonomy.eu/cdm/model/occurrence/1.0", type
= PreservationMethod
.class),
188 @XmlElement(name
= "Rank", namespace
= "http://etaxonomy.eu/cdm/model/name/1.0", type
= Rank
.class),
189 @XmlElement(name
= "ReferenceSystem", namespace
= "http://etaxonomy.eu/cdm/model/location/1.0", type
= ReferenceSystem
.class),
190 @XmlElement(name
= "RightsTerm", namespace
= "http://etaxonomy.eu/cdm/model/media/1.0", type
= RightsTerm
.class),
191 @XmlElement(name
= "Scope", namespace
= "http://etaxonomy.eu/cdm/model/description/1.0", type
= Scope
.class),
192 @XmlElement(name
= "Sex", namespace
= "http://etaxonomy.eu/cdm/model/description/1.0", type
= Sex
.class),
193 @XmlElement(name
= "Stage", namespace
= "http://etaxonomy.eu/cdm/model/description/1.0", type
= Stage
.class),
194 @XmlElement(name
= "State", namespace
= "http://etaxonomy.eu/cdm/model/description/1.0", type
= State
.class),
195 @XmlElement(name
= "StatisticalMeasure", namespace
= "http://etaxonomy.eu/cdm/model/description/1.0", type
= StatisticalMeasure
.class),
196 @XmlElement(name
= "SynonymRelationshipType", namespace
= "http://etaxonomy.eu/cdm/model/taxon/1.0", type
= SynonymRelationshipType
.class),
197 @XmlElement(name
= "TaxonRelationshipType", namespace
= "http://etaxonomy.eu/cdm/model/taxon/1.0", type
= TaxonRelationshipType
.class),
198 @XmlElement(name
= "TextFormat", namespace
= "http://etaxonomy.eu/cdm/model/description/1.0", type
= TextFormat
.class),
199 @XmlElement(name
= "TypeDesignationStatus", namespace
= "http://etaxonomy.eu/cdm/model/name/1.0", type
= SpecimenTypeDesignationStatus
.class),
200 @XmlElement(name
= "WaterbodyOrCountry", namespace
= "http://etaxonomy.eu/cdm/model/location/1.0", type
= WaterbodyOrCountry
.class)
202 protected List
<DefinedTermBase
> terms
;
204 @XmlElementWrapper(name
= "TermVocabularies")
205 @XmlElement(name
= "TermVocabulary", namespace
= "http://etaxonomy.eu/cdm/model/common/1.0")
206 protected List
<TermVocabulary
<DefinedTermBase
>> termVocabularies
;
208 @XmlElementWrapper(name
= "Occurrences")
210 @XmlElement(name
= "DnaSample", namespace
= "http://etaxonomy.eu/cdm/model/occurrence/1.0", type
= DnaSample
.class),
211 @XmlElement(name
= "FieldObservation", namespace
= "http://etaxonomy.eu/cdm/model/occurrence/1.0", type
= FieldObservation
.class),
212 @XmlElement(name
= "Fossil", namespace
= "http://etaxonomy.eu/cdm/model/occurrence/1.0", type
= Fossil
.class),
213 @XmlElement(name
= "LivingBeing", namespace
= "http://etaxonomy.eu/cdm/model/occurrence/1.0", type
= LivingBeing
.class),
214 @XmlElement(name
= "Observation", namespace
= "http://etaxonomy.eu/cdm/model/occurrence/1.0", type
= Observation
.class),
215 @XmlElement(name
= "Specimen", namespace
= "http://etaxonomy.eu/cdm/model/occurrence/1.0", type
= Specimen
.class)
217 protected List
<SpecimenOrObservationBase
> occurrences
;
219 @XmlElementWrapper(name
= "References")
220 @XmlElement(name
= "Reference", namespace
= "http://etaxonomy.eu/cdm/model/reference/1.0", type
= Reference
.class)
222 protected List
<Reference
> references
;
224 @XmlElementWrapper(name
= "ReferencedEntities")
226 @XmlElement(name
= "NomenclaturalStatus", namespace
= "http://etaxonomy.eu/cdm/model/name/1.0", type
= NomenclaturalStatus
.class),
227 @XmlElement(name
= "NameTypeDesignation", namespace
= "http://etaxonomy.eu/cdm/model/name/1.0", type
= NameTypeDesignation
.class),
228 @XmlElement(name
= "SpecimenTypeDesignation", namespace
= "http://etaxonomy.eu/cdm/model/name/1.0", type
= SpecimenTypeDesignation
.class)
230 protected List
<ReferencedEntityBase
> referencedEntities
;
233 @XmlElementWrapper(name
= "TaxonomicNames")
235 @XmlElement(name
= "BacterialName", namespace
= "http://etaxonomy.eu/cdm/model/name/1.0", type
= BacterialName
.class),
236 @XmlElement(name
= "BotanicalName", namespace
= "http://etaxonomy.eu/cdm/model/name/1.0", type
= BotanicalName
.class),
237 @XmlElement(name
= "CultivarPlantName", namespace
= "http://etaxonomy.eu/cdm/model/name/1.0", type
= CultivarPlantName
.class),
238 @XmlElement(name
= "ViralName", namespace
= "http://etaxonomy.eu/cdm/model/name/1.0", type
= ViralName
.class),
239 @XmlElement(name
= "ZoologicalName", namespace
= "http://etaxonomy.eu/cdm/model/name/1.0", type
= ZoologicalName
.class)
241 protected List
<TaxonNameBase
> taxonomicNames
;
243 @XmlElementWrapper(name
= "Taxa")
244 @XmlElement(name
= "Taxon", namespace
= "http://etaxonomy.eu/cdm/model/taxon/1.0")
245 protected List
<Taxon
> taxa
;
247 @XmlElementWrapper(name
= "Synonyms")
248 @XmlElement(name
= "Synonym", namespace
= "http://etaxonomy.eu/cdm/model/taxon/1.0")
249 protected List
<Synonym
> synonyms
;
251 @XmlElementWrapper(name
= "Relationships")
253 @XmlElement(name
= "TaxonRelationship", namespace
= "http://etaxonomy.eu/cdm/model/taxon/1.0", type
= TaxonRelationship
.class),
254 @XmlElement(name
= "SynonymRelationship", namespace
= "http://etaxonomy.eu/cdm/model/taxon/1.0", type
= SynonymRelationship
.class),
255 @XmlElement(name
= "NameRelationship", namespace
= "http://etaxonomy.eu/cdm/model/name/1.0", type
= NameRelationship
.class),
256 @XmlElement(name
= "HybridRelationship", namespace
= "http://etaxonomy.eu/cdm/model/name/1.0", type
= HybridRelationship
.class)
258 protected Set
<RelationshipBase
> relationships
;
260 @XmlElementWrapper(name
= "Media_")
261 @XmlElement(name
= "Media", namespace
= "http://etaxonomy.eu/cdm/model/media/1.0")
262 protected List
<VersionableEntity
> media
;
264 @XmlElementWrapper(name
= "HomotypicalGroups")
265 @XmlElement(name
= "HomotypicalGroup", namespace
= "http://etaxonomy.eu/cdm/model/name/1.0")
266 protected List
<HomotypicalGroup
> homotypicalGroups
;
268 // @XmlElement(name = "TdwgArea", namespace = "http://etaxonomy.eu/cdm/model/location/1.0", type = TdwgArea.class),
270 public SDDDataSet () {
272 agents
= new ArrayList
<AgentBase
>();
273 agentData
= new ArrayList
<VersionableEntity
>();
274 // featureData = new ArrayList<VersionableEntity>();
275 featureData
= new ArrayList
<VersionableEntity
>();
276 languageData
= new ArrayList
<LanguageStringBase
>();
277 terms
= new ArrayList
<DefinedTermBase
>();
278 termVocabularies
= new ArrayList
<TermVocabulary
<DefinedTermBase
>>();
279 occurrences
= new ArrayList
<SpecimenOrObservationBase
>();
280 references
= new ArrayList
<Reference
>();
281 referencedEntities
= new ArrayList
<ReferencedEntityBase
>();
282 taxonomicNames
= new ArrayList
<TaxonNameBase
>();
283 taxa
= new ArrayList
<Taxon
>();
284 synonyms
= new ArrayList
<Synonym
>();
285 relationships
= new HashSet
<RelationshipBase
>();
286 media
= new ArrayList
<VersionableEntity
>();
287 homotypicalGroups
= new ArrayList
<HomotypicalGroup
>();
291 * Gets the value of the agents property.
295 * {@link List<Agent> }
298 public List
<?
extends AgentBase
> getAgents() {
303 * Sets the value of the agents property.
307 * {@link List<Agent> }
310 public void setAgents(List
<?
extends AgentBase
> value
) {
315 * Gets the value of the agentData property.
319 * {@link List<VersionableEntity> }
322 public List
<VersionableEntity
> getAgentData() {
327 * Sets the value of the agentData property.
331 * {@link List<VersionableEntity> }
334 public void setAgentData(List
<VersionableEntity
> value
) {
335 this.agentData
= value
;
339 * Gets the value of the terms property.
343 * {@link List<TermBase> }
347 //public List<? extends TermBase> getTerms() {
348 public List
<DefinedTermBase
> getTerms() {
353 * Sets the value of the terms property.
357 * {@link List<TermBase> }
360 //public void setTerms(List<? extends TermBase> value) {
361 public void setTerms(List
<DefinedTermBase
> value
) {
366 * Gets the value of the term vocabularies property.
370 * {@link List<TermVocabulary> }
374 public List
<TermVocabulary
<DefinedTermBase
>> getTermVocabularies() {
375 return termVocabularies
;
379 * Sets the value of the term vocabularies property.
383 * {@link List<TermVocabulary> }
386 public void setTermVocabularies(List
<TermVocabulary
<DefinedTermBase
>> value
) {
387 this.termVocabularies
= value
;
391 * Gets the value of the taxonomicNames property.
395 * {@link List<axonNameBase> }
398 public List
<TaxonNameBase
> getTaxonomicNames() {
399 return taxonomicNames
;
403 * Sets the value of the taxonomicNames property.
407 * {@link List<TaxonNameBase> }
410 public void setTaxonomicNames(List
<TaxonNameBase
> value
) {
411 this.taxonomicNames
= value
;
415 * Gets the value of the references property.
419 * {@link List<SpecimenOrObservationBase> }
422 public List
<SpecimenOrObservationBase
> getOccurrences() {
427 * Sets the value of the references property.
431 * {@link List<SpecimenOrObservationBase> }
434 public void setOccurrences(List
<SpecimenOrObservationBase
> value
) {
435 this.occurrences
= value
;
439 * Gets the value of the references property.
443 * {@link List<Reference> }
446 public List
<Reference
> getReferences() {
451 * Sets the value of the references property.
455 * {@link List<Reference> }
458 public void setReferences(List
<Reference
> value
) {
459 this.references
= value
;
463 * Adds the referenced entities in value to the referenced entity property list.
467 * {@link Collection<ReferencedEntityBase> }
470 public <T
extends ReferencedEntityBase
> void addReferencedEntities(Collection
<T
> value
) {
471 for (T referencedEntity
: value
) {
472 this.referencedEntities
.add(referencedEntity
);
477 * Gets the value of the property.
481 * {@link List<ReferencedEntityBase> }
484 public List
<ReferencedEntityBase
> getReferencedEntities() {
485 return referencedEntities
;
489 * Sets the value of the referencedEntities property.
493 * {@link List<ReferencedEntityBase> }
496 public void setReferencedEntities(List
<?
extends ReferencedEntityBase
> value
) {
497 this.referencedEntities
= new ArrayList
<ReferencedEntityBase
>();
498 referencedEntities
.addAll(value
);
502 * Adds the features in value to the feature data property list.
506 * {@link Collection<VersionableEntity> }
509 public <T
extends VersionableEntity
> void addFeatureData(Collection
<T
> value
) {
510 for (T featureItem
: value
) {
511 this.featureData
.add(featureItem
);
516 * Gets the value of the feature data property.
520 * {@link List<VersionableEntity> }
523 // public List<VersionableEntity> getFeatureData() {
524 public List
<VersionableEntity
> getFeatureData() {
529 * Sets the value of the feature data property.
533 * {@link List<VersionableEntity> }
536 public <T
extends VersionableEntity
> void setFeatureData(List
<T
> value
) {
537 featureData
= new ArrayList
<VersionableEntity
>();
538 for (T featureItem
: value
) {
539 this.featureData
.add(featureItem
);
543 // public void setFeatureData(List<? extends VersionableEntity> value) {
544 //public void setFeatureData(List<? extends VersionableEntity<?>> value) {
545 // this.featureData = new ArrayList<VersionableEntity>();
546 // this.featureData = new ArrayList<VersionableEntity<?>>();
547 // featureData.addAll(value);
551 * Adds the features in value to the language data property list.
555 * {@link Collection<LanguageStringBase> }
558 public <T
extends LanguageStringBase
> void addLanguageData(Collection
<T
> value
) {
559 for (T languageItem
: value
) {
560 this.languageData
.add(languageItem
);
565 * Gets the value of the language data property.
569 * {@link List<LanguageStringBase> }
572 public List
<LanguageStringBase
> getLanguageData() {
577 * Sets the value of the feature data property.
581 * {@link List<LanguageStringBase> }
584 public void setLanguageData(List
<?
extends LanguageStringBase
> value
) {
585 this.languageData
= new ArrayList
<LanguageStringBase
>();
586 languageData
.addAll(value
);
590 * Adds the taxa in value to the taxa property list.
594 * {@link Collection<Taxon> }
597 public void addTaxa(Collection
<Taxon
> value
) {
598 for (Taxon taxon
: value
) {
599 this.taxa
.add(taxon
);
604 * Gets the value of the taxa property.
608 * {@link List<Taxon> }
611 // public List<Taxon> getTaxa() {
616 * Gets the value of the taxa property as {@link Collection<TaxonBase> }
620 * {@link Collection<TaxonBase> }
623 public Collection
<?
extends TaxonBase
> getTaxa() {
625 //TODO can be deleted when everything works
627 //Collection<TaxonBase> taxonBases = (Collection<TaxonBase>)obj;
628 List
<Taxon
> list
= taxa
;
632 public Collection
<TaxonBase
> getTaxonBases() {
634 Collection
<TaxonBase
> result
= new HashSet
<TaxonBase
>();;
638 if (synonyms
!= null) {
639 result
.addAll(synonyms
);
645 * Sets the value of the taxa property.
649 * {@link List<Taxon> }
652 public void setTaxa(List
<Taxon
> value
) {
657 * Adds the taxon in value to the taxa property list.
662 public void addTaxon(Taxon value
) {
663 this.taxa
.add(value
);
668 * Gets the value of the synonyms property.
672 * {@link List<Synonym> }
675 public List
<Synonym
> getSynonyms() {
680 * Sets the value of the synonyms property.
684 * {@link List<Synonym> }
687 public void setSynonyms(List
<Synonym
> value
) {
688 this.synonyms
= value
;
692 * Adds the synonym in value to the taxa property list.
697 public void addSynonym(Synonym value
) {
698 this.synonyms
.add(value
);
702 * Adds the synonym in value to the synonyms property list.
706 * {@link Collection<Synonym> }
709 public void addSynonyms(Collection
<Synonym
> value
) {
710 for (Synonym synonym
: value
) {
711 this.synonyms
.add(synonym
);
716 * Gets the value of the relationships property.
720 * {@link Set<RelationshipBase> }
723 public Set
<RelationshipBase
> getRelationships() {
724 return relationships
;
728 * Sets the value of the relationships property.
732 * {@link Set<RelationshipBase> }
735 public void setRelationships(Set
<RelationshipBase
> value
) {
736 this.relationships
= value
;
740 * Adds the relationship in value to the relationships property list.
744 * {@link Collection<RelationshipBase> }
747 public void addRelationships(Collection
<?
extends RelationshipBase
> value
) {
748 for (RelationshipBase relationship
: value
) {
749 this.relationships
.add(relationship
);
754 * Adds the media in value to the media property list.
758 * {@link Collection<VersionableEntity> }
761 public <T
extends VersionableEntity
> void addMedia(Collection
<T
> value
) {
762 for (T medium
: value
) {
763 this.media
.add(medium
);
768 * Gets the value of the property.
772 * {@link List<ReferencedEntityBase> }
775 public List
<VersionableEntity
> getMedia() {
780 * Sets the value of the referencedEntities property.
784 * {@link List<ReferencedEntityBase> }
787 public void setMedia(List
<?
extends VersionableEntity
> value
) {
788 this.media
= new ArrayList
<VersionableEntity
>();
793 * Gets the value of the synonyms property.
797 * {@link List<Synonym> }
800 public List
<HomotypicalGroup
> getHomotypicalGroups() {
801 return homotypicalGroups
;
805 * Sets the value of the synonyms property.
809 * {@link List<Synonym> }
812 public void setHomotypicalGroups(List
<HomotypicalGroup
> value
) {
813 this.homotypicalGroups
= value
;