2 * Copyright (C) 2008 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
.jaxb
;
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
.Agent
;
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
.Keyword
;
38 import eu
.etaxonomy
.cdm
.model
.common
.Language
;
39 import eu
.etaxonomy
.cdm
.model
.common
.LanguageString
;
40 import eu
.etaxonomy
.cdm
.model
.common
.LanguageStringBase
;
41 import eu
.etaxonomy
.cdm
.model
.common
.MarkerType
;
42 import eu
.etaxonomy
.cdm
.model
.common
.ReferencedEntityBase
;
43 import eu
.etaxonomy
.cdm
.model
.common
.RelationshipBase
;
44 import eu
.etaxonomy
.cdm
.model
.common
.Representation
;
45 import eu
.etaxonomy
.cdm
.model
.common
.TermVocabulary
;
46 import eu
.etaxonomy
.cdm
.model
.common
.VersionableEntity
;
47 import eu
.etaxonomy
.cdm
.model
.description
.AbsenceTerm
;
48 import eu
.etaxonomy
.cdm
.model
.description
.Feature
;
49 import eu
.etaxonomy
.cdm
.model
.description
.FeatureNode
;
50 import eu
.etaxonomy
.cdm
.model
.description
.FeatureTree
;
51 import eu
.etaxonomy
.cdm
.model
.description
.MeasurementUnit
;
52 import eu
.etaxonomy
.cdm
.model
.description
.Modifier
;
53 import eu
.etaxonomy
.cdm
.model
.description
.PresenceTerm
;
54 import eu
.etaxonomy
.cdm
.model
.description
.Scope
;
55 import eu
.etaxonomy
.cdm
.model
.description
.Sex
;
56 import eu
.etaxonomy
.cdm
.model
.description
.Stage
;
57 import eu
.etaxonomy
.cdm
.model
.description
.State
;
58 import eu
.etaxonomy
.cdm
.model
.description
.StatisticalMeasure
;
59 import eu
.etaxonomy
.cdm
.model
.description
.TextFormat
;
60 import eu
.etaxonomy
.cdm
.model
.location
.Continent
;
61 import eu
.etaxonomy
.cdm
.model
.location
.NamedArea
;
62 import eu
.etaxonomy
.cdm
.model
.location
.NamedAreaLevel
;
63 import eu
.etaxonomy
.cdm
.model
.location
.NamedAreaType
;
64 import eu
.etaxonomy
.cdm
.model
.location
.ReferenceSystem
;
65 import eu
.etaxonomy
.cdm
.model
.location
.WaterbodyOrCountry
;
66 import eu
.etaxonomy
.cdm
.model
.media
.Media
;
67 import eu
.etaxonomy
.cdm
.model
.media
.RightsTerm
;
68 import eu
.etaxonomy
.cdm
.model
.molecular
.DnaSample
;
69 import eu
.etaxonomy
.cdm
.model
.name
.BacterialName
;
70 import eu
.etaxonomy
.cdm
.model
.name
.BotanicalName
;
71 import eu
.etaxonomy
.cdm
.model
.name
.CultivarPlantName
;
72 import eu
.etaxonomy
.cdm
.model
.name
.HomotypicalGroup
;
73 import eu
.etaxonomy
.cdm
.model
.name
.HybridRelationship
;
74 import eu
.etaxonomy
.cdm
.model
.name
.HybridRelationshipType
;
75 import eu
.etaxonomy
.cdm
.model
.name
.NameRelationship
;
76 import eu
.etaxonomy
.cdm
.model
.name
.NameRelationshipType
;
77 import eu
.etaxonomy
.cdm
.model
.name
.NameTypeDesignation
;
78 import eu
.etaxonomy
.cdm
.model
.name
.NomenclaturalCode
;
79 import eu
.etaxonomy
.cdm
.model
.name
.NomenclaturalStatus
;
80 import eu
.etaxonomy
.cdm
.model
.name
.NomenclaturalStatusType
;
81 import eu
.etaxonomy
.cdm
.model
.name
.NonViralName
;
82 import eu
.etaxonomy
.cdm
.model
.name
.Rank
;
83 import eu
.etaxonomy
.cdm
.model
.name
.SpecimenTypeDesignation
;
84 import eu
.etaxonomy
.cdm
.model
.name
.TaxonNameBase
;
85 import eu
.etaxonomy
.cdm
.model
.name
.TypeDesignationStatus
;
86 import eu
.etaxonomy
.cdm
.model
.name
.ViralName
;
87 import eu
.etaxonomy
.cdm
.model
.name
.ZoologicalName
;
88 import eu
.etaxonomy
.cdm
.model
.occurrence
.DerivationEventType
;
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
.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
.BibtexEntryType
;
99 import eu
.etaxonomy
.cdm
.model
.reference
.Book
;
100 import eu
.etaxonomy
.cdm
.model
.reference
.BookSection
;
101 import eu
.etaxonomy
.cdm
.model
.reference
.CdDvd
;
102 import eu
.etaxonomy
.cdm
.model
.reference
.Database
;
103 import eu
.etaxonomy
.cdm
.model
.reference
.Generic
;
104 import eu
.etaxonomy
.cdm
.model
.reference
.InProceedings
;
105 import eu
.etaxonomy
.cdm
.model
.reference
.Journal
;
106 import eu
.etaxonomy
.cdm
.model
.reference
.Map
;
107 import eu
.etaxonomy
.cdm
.model
.reference
.Patent
;
108 import eu
.etaxonomy
.cdm
.model
.reference
.PersonalCommunication
;
109 import eu
.etaxonomy
.cdm
.model
.reference
.PrintSeries
;
110 import eu
.etaxonomy
.cdm
.model
.reference
.Proceedings
;
111 import eu
.etaxonomy
.cdm
.model
.reference
.ReferenceBase
;
112 import eu
.etaxonomy
.cdm
.model
.reference
.Report
;
113 import eu
.etaxonomy
.cdm
.model
.reference
.Thesis
;
114 import eu
.etaxonomy
.cdm
.model
.reference
.WebPage
;
115 import eu
.etaxonomy
.cdm
.model
.taxon
.Synonym
;
116 import eu
.etaxonomy
.cdm
.model
.taxon
.SynonymRelationship
;
117 import eu
.etaxonomy
.cdm
.model
.taxon
.SynonymRelationshipType
;
118 import eu
.etaxonomy
.cdm
.model
.taxon
.Taxon
;
119 import eu
.etaxonomy
.cdm
.model
.taxon
.TaxonBase
;
120 import eu
.etaxonomy
.cdm
.model
.taxon
.TaxonRelationship
;
121 import eu
.etaxonomy
.cdm
.model
.taxon
.TaxonRelationshipType
;
124 * @author a.babadshanjan
126 @XmlAccessorType(XmlAccessType
.FIELD
)
127 @XmlType(name
= "", propOrder
= {
134 "referencedEntities",
144 @XmlRootElement(name
= "DataSet", namespace
= "http://etaxonomy.eu/cdm/model/1.0")
145 public class DataSet
{
147 // Some fields are of type List and some are of type Set.
148 // This is mainly because
149 // the service classes return lists, i.e.
150 // TaxonServiceImpl.getRootTaxa() returns List<Taxon>
151 // and the Taxon methods return sets, i.e.
152 // Taxon.getTaxonomicChildren() returns Set<Taxon>.
154 @XmlElementWrapper(name
= "Agents", namespace
= "http://etaxonomy.eu/cdm/model/1.0")
156 @XmlElement(name
= "Team", namespace
= "http://etaxonomy.eu/cdm/model/agent/1.0", type
= Team
.class),
157 @XmlElement(name
= "Institution", namespace
= "http://etaxonomy.eu/cdm/model/agent/1.0", type
= Institution
.class),
158 @XmlElement(name
= "Person", namespace
= "http://etaxonomy.eu/cdm/model/agent/1.0", type
= Person
.class)
160 protected List
<?
extends Agent
> agents
;
162 @XmlElementWrapper(name
= "AgentData", namespace
= "http://etaxonomy.eu/cdm/model/1.0")
164 @XmlElement(name
= "Address", namespace
= "http://etaxonomy.eu/cdm/model/agent/1.0", type
= Address
.class),
165 @XmlElement(name
= "Contact", namespace
= "http://etaxonomy.eu/cdm/model/agent/1.0", type
= Contact
.class),
166 @XmlElement(name
= "InstitutionalMembership", namespace
= "http://etaxonomy.eu/cdm/model/agent/1.0", type
= InstitutionalMembership
.class)
168 protected List
<VersionableEntity
> agentData
;
170 @XmlElementWrapper(name
= "FeatureData", namespace
= "http://etaxonomy.eu/cdm/model/1.0")
172 @XmlElement(name
= "FeatureNode", namespace
= "http://etaxonomy.eu/cdm/model/description/1.0", type
= FeatureNode
.class),
173 @XmlElement(name
= "FeatureTree", namespace
= "http://etaxonomy.eu/cdm/model/description/1.0", type
= FeatureTree
.class)
175 // protected List<VersionableEntity> featureData;
176 protected List
<VersionableEntity
> featureData
;
178 @XmlElementWrapper(name
= "LanguageData", namespace
= "http://etaxonomy.eu/cdm/model/1.0")
180 @XmlElement(name
= "Representation", namespace
= "http://etaxonomy.eu/cdm/model/common/1.0", type
= Representation
.class),
181 @XmlElement(name
= "LanguageString", namespace
= "http://etaxonomy.eu/cdm/model/common/1.0", type
= LanguageString
.class)
183 protected List
<LanguageStringBase
> languageData
;
185 @XmlElementWrapper(name
= "Terms", namespace
= "http://etaxonomy.eu/cdm/model/1.0")
187 @XmlElement(name
= "AbsenceTerm", namespace
= "http://etaxonomy.eu/cdm/model/description/1.0", type
= AbsenceTerm
.class),
188 @XmlElement(name
= "AnnotationType", namespace
= "http://etaxonomy.eu/cdm/model/common/1.0", type
= AnnotationType
.class),
189 @XmlElement(name
= "BibtexEntryType", namespace
= "http://etaxonomy.eu/cdm/model/reference/1.0", type
= BibtexEntryType
.class),
190 @XmlElement(name
= "Continent", namespace
= "http://etaxonomy.eu/cdm/model/location/1.0", type
= Continent
.class),
191 @XmlElement(name
= "DerivationEventType", namespace
= "http://etaxonomy.eu/cdm/model/occurrence/1.0", type
= DerivationEventType
.class),
192 @XmlElement(name
= "DeterminationModifier", namespace
= "http://etaxonomy.eu/cdm/model/occurrence/1.0", type
= DeterminationModifier
.class),
193 @XmlElement(name
= "ExtensionType", namespace
= "http://etaxonomy.eu/cdm/model/common/1.0", type
= ExtensionType
.class),
194 @XmlElement(name
= "Feature", namespace
= "http://etaxonomy.eu/cdm/model/description/1.0", type
= Feature
.class),
195 @XmlElement(name
= "HybridRelationshipType", namespace
= "http://etaxonomy.eu/cdm/model/name/1.0", type
= HybridRelationshipType
.class),
196 @XmlElement(name
= "InstitutionType", namespace
= "http://etaxonomy.eu/cdm/model/agent/1.0", type
= InstitutionType
.class),
197 @XmlElement(name
= "Keyword", namespace
= "http://etaxonomy.eu/cdm/model/common/1.0", type
= Keyword
.class),
198 @XmlElement(name
= "Language", namespace
= "http://etaxonomy.eu/cdm/model/common/1.0", type
= Language
.class),
199 @XmlElement(name
= "MarkerType", namespace
= "http://etaxonomy.eu/cdm/model/common/1.0", type
= MarkerType
.class),
200 @XmlElement(name
= "MeasurementUnit", namespace
= "http://etaxonomy.eu/cdm/model/description/1.0", type
= MeasurementUnit
.class),
201 @XmlElement(name
= "Modifier", namespace
= "http://etaxonomy.eu/cdm/model/description/1.0", type
= Modifier
.class),
202 @XmlElement(name
= "NamedArea", namespace
= "http://etaxonomy.eu/cdm/model/location/1.0", type
= NamedArea
.class),
203 @XmlElement(name
= "NamedAreaLevel", namespace
= "http://etaxonomy.eu/cdm/model/location/1.0", type
= NamedAreaLevel
.class),
204 @XmlElement(name
= "NamedAreaType", namespace
= "http://etaxonomy.eu/cdm/model/location/1.0", type
= NamedAreaType
.class),
205 @XmlElement(name
= "NameRelationshipType", namespace
= "http://etaxonomy.eu/cdm/model/name/1.0", type
= NameRelationshipType
.class),
206 @XmlElement(name
= "NomenclaturalCode", namespace
= "http://etaxonomy.eu/cdm/model/name/1.0", type
= NomenclaturalCode
.class),
207 @XmlElement(name
= "NomenclaturalStatusType", namespace
= "http://etaxonomy.eu/cdm/model/name/1.0", type
= NomenclaturalStatusType
.class),
208 @XmlElement(name
= "PresenceTerm", namespace
= "http://etaxonomy.eu/cdm/model/description/1.0", type
= PresenceTerm
.class),
209 @XmlElement(name
= "PreservationMethod", namespace
= "http://etaxonomy.eu/cdm/model/occurrence/1.0", type
= PreservationMethod
.class),
210 @XmlElement(name
= "Rank", namespace
= "http://etaxonomy.eu/cdm/model/name/1.0", type
= Rank
.class),
211 @XmlElement(name
= "ReferenceSystem", namespace
= "http://etaxonomy.eu/cdm/model/location/1.0", type
= ReferenceSystem
.class),
212 @XmlElement(name
= "RightsTerm", namespace
= "http://etaxonomy.eu/cdm/model/media/1.0", type
= RightsTerm
.class),
213 @XmlElement(name
= "Scope", namespace
= "http://etaxonomy.eu/cdm/model/description/1.0", type
= Scope
.class),
214 @XmlElement(name
= "Sex", namespace
= "http://etaxonomy.eu/cdm/model/description/1.0", type
= Sex
.class),
215 @XmlElement(name
= "Stage", namespace
= "http://etaxonomy.eu/cdm/model/description/1.0", type
= Stage
.class),
216 @XmlElement(name
= "State", namespace
= "http://etaxonomy.eu/cdm/model/description/1.0", type
= State
.class),
217 @XmlElement(name
= "StatisticalMeasure", namespace
= "http://etaxonomy.eu/cdm/model/description/1.0", type
= StatisticalMeasure
.class),
218 @XmlElement(name
= "SynonymRelationshipType", namespace
= "http://etaxonomy.eu/cdm/model/taxon/1.0", type
= SynonymRelationshipType
.class),
219 @XmlElement(name
= "TaxonRelationshipType", namespace
= "http://etaxonomy.eu/cdm/model/taxon/1.0", type
= TaxonRelationshipType
.class),
220 @XmlElement(name
= "TextFormat", namespace
= "http://etaxonomy.eu/cdm/model/description/1.0", type
= TextFormat
.class),
221 @XmlElement(name
= "TypeDesignationStatus", namespace
= "http://etaxonomy.eu/cdm/model/name/1.0", type
= TypeDesignationStatus
.class),
222 @XmlElement(name
= "WaterbodyOrCountry", namespace
= "http://etaxonomy.eu/cdm/model/location/1.0", type
= WaterbodyOrCountry
.class)
224 protected List
<DefinedTermBase
> terms
;
226 @XmlElementWrapper(name
= "TermVocabularies", namespace
= "http://etaxonomy.eu/cdm/model/1.0")
227 @XmlElement(name
= "TermVocabulary", namespace
= "http://etaxonomy.eu/cdm/model/common/1.0")
228 protected List
<TermVocabulary
<DefinedTermBase
>> termVocabularies
;
230 @XmlElementWrapper(name
= "Occurrences", namespace
= "http://etaxonomy.eu/cdm/model/1.0")
232 @XmlElement(name
= "DnaSample", namespace
= "http://etaxonomy.eu/cdm/model/occurrence/1.0", type
= DnaSample
.class),
233 @XmlElement(name
= "FieldObservation", namespace
= "http://etaxonomy.eu/cdm/model/occurrence/1.0", type
= FieldObservation
.class),
234 @XmlElement(name
= "Fossil", namespace
= "http://etaxonomy.eu/cdm/model/occurrence/1.0", type
= Fossil
.class),
235 @XmlElement(name
= "LivingBeing", namespace
= "http://etaxonomy.eu/cdm/model/occurrence/1.0", type
= LivingBeing
.class),
236 @XmlElement(name
= "Observation", namespace
= "http://etaxonomy.eu/cdm/model/occurrence/1.0", type
= Observation
.class),
237 @XmlElement(name
= "Specimen", namespace
= "http://etaxonomy.eu/cdm/model/occurrence/1.0", type
= Specimen
.class)
239 protected List
<SpecimenOrObservationBase
> occurrences
;
241 @XmlElementWrapper(name
= "References", namespace
= "http://etaxonomy.eu/cdm/model/1.0")
243 @XmlElement(name
= "Article", namespace
= "http://etaxonomy.eu/cdm/model/reference/1.0", type
= Article
.class),
244 @XmlElement(name
= "Book", namespace
= "http://etaxonomy.eu/cdm/model/reference/1.0", type
= Book
.class),
245 @XmlElement(name
= "BookSection", namespace
= "http://etaxonomy.eu/cdm/model/reference/1.0", type
= BookSection
.class),
246 @XmlElement(name
= "CdDvd", namespace
= "http://etaxonomy.eu/cdm/model/reference/1.0", type
= CdDvd
.class),
247 @XmlElement(name
= "Database", namespace
= "http://etaxonomy.eu/cdm/model/reference/1.0", type
= Database
.class),
248 @XmlElement(name
= "Generic", namespace
= "http://etaxonomy.eu/cdm/model/reference/1.0", type
= Generic
.class),
249 @XmlElement(name
= "InProceedings", namespace
= "http://etaxonomy.eu/cdm/model/reference/1.0", type
= InProceedings
.class),
250 @XmlElement(name
= "Journal", namespace
= "http://etaxonomy.eu/cdm/model/reference/1.0", type
= Journal
.class),
251 @XmlElement(name
= "Map", namespace
= "http://etaxonomy.eu/cdm/model/reference/1.0", type
= Map
.class),
252 @XmlElement(name
= "Patent", namespace
= "http://etaxonomy.eu/cdm/model/reference/1.0", type
= Patent
.class),
253 @XmlElement(name
= "PersonalCommunication", namespace
= "http://etaxonomy.eu/cdm/model/reference/1.0", type
= PersonalCommunication
.class),
254 @XmlElement(name
= "PrintSeries", namespace
= "http://etaxonomy.eu/cdm/model/reference/1.0", type
= PrintSeries
.class),
255 @XmlElement(name
= "Proceedings", namespace
= "http://etaxonomy.eu/cdm/model/reference/1.0", type
= Proceedings
.class),
256 @XmlElement(name
= "Report", namespace
= "http://etaxonomy.eu/cdm/model/reference/1.0", type
= Report
.class),
257 @XmlElement(name
= "Thesis", namespace
= "http://etaxonomy.eu/cdm/model/reference/1.0", type
= Thesis
.class),
258 @XmlElement(name
= "WebPage", namespace
= "http://etaxonomy.eu/cdm/model/reference/1.0", type
= WebPage
.class)
260 protected List
<ReferenceBase
> references
;
262 @XmlElementWrapper(name
= "ReferencedEntities", namespace
= "http://etaxonomy.eu/cdm/model/1.0")
264 @XmlElement(name
= "NomenclaturalStatus", namespace
= "http://etaxonomy.eu/cdm/model/name/1.0", type
= NomenclaturalStatus
.class),
265 @XmlElement(name
= "NameTypeDesignation", namespace
= "http://etaxonomy.eu/cdm/model/name/1.0", type
= NameTypeDesignation
.class),
266 @XmlElement(name
= "SpecimenTypeDesignation", namespace
= "http://etaxonomy.eu/cdm/model/name/1.0", type
= SpecimenTypeDesignation
.class)
268 protected List
<ReferencedEntityBase
> referencedEntities
;
271 @XmlElementWrapper(name
= "TaxonomicNames", namespace
= "http://etaxonomy.eu/cdm/model/1.0")
273 @XmlElement(name
= "BacterialName", namespace
= "http://etaxonomy.eu/cdm/model/name/1.0", type
= BacterialName
.class),
274 @XmlElement(name
= "BotanicalName", namespace
= "http://etaxonomy.eu/cdm/model/name/1.0", type
= BotanicalName
.class),
275 @XmlElement(name
= "CultivarPlantName", namespace
= "http://etaxonomy.eu/cdm/model/name/1.0", type
= CultivarPlantName
.class),
276 @XmlElement(name
= "NonViralName", namespace
= "http://etaxonomy.eu/cdm/model/name/1.0", type
= NonViralName
.class),
277 @XmlElement(name
= "ViralName", namespace
= "http://etaxonomy.eu/cdm/model/name/1.0", type
= ViralName
.class),
278 @XmlElement(name
= "ZoologicalName", namespace
= "http://etaxonomy.eu/cdm/model/name/1.0", type
= ZoologicalName
.class)
280 protected List
<TaxonNameBase
> taxonomicNames
;
282 @XmlElementWrapper(name
= "Taxa", namespace
= "http://etaxonomy.eu/cdm/model/1.0")
283 @XmlElement(name
= "Taxon", namespace
= "http://etaxonomy.eu/cdm/model/taxon/1.0")
284 protected List
<Taxon
> taxa
;
286 @XmlElementWrapper(name
= "Synonyms", namespace
= "http://etaxonomy.eu/cdm/model/1.0")
287 @XmlElement(name
= "Synonym", namespace
= "http://etaxonomy.eu/cdm/model/taxon/1.0")
288 protected List
<Synonym
> synonyms
;
290 @XmlElementWrapper(name
= "Relationships", namespace
= "http://etaxonomy.eu/cdm/model/1.0")
292 @XmlElement(name
= "TaxonRelationship", namespace
= "http://etaxonomy.eu/cdm/model/taxon/1.0", type
= TaxonRelationship
.class),
293 @XmlElement(name
= "SynonymRelationship", namespace
= "http://etaxonomy.eu/cdm/model/taxon/1.0", type
= SynonymRelationship
.class),
294 @XmlElement(name
= "NameRelationship", namespace
= "http://etaxonomy.eu/cdm/model/name/1.0", type
= NameRelationship
.class),
295 @XmlElement(name
= "HybridRelationship", namespace
= "http://etaxonomy.eu/cdm/model/name/1.0", type
= HybridRelationship
.class)
297 protected Set
<RelationshipBase
> relationships
;
299 @XmlElementWrapper(name
= "Media", namespace
= "http://etaxonomy.eu/cdm/model/1.0")
300 @XmlElement(name
= "Media", namespace
= "http://etaxonomy.eu/cdm/model/media/1.0")
301 protected List
<Media
> media
;
303 @XmlElementWrapper(name
= "HomotypicalGroups", namespace
= "http://etaxonomy.eu/cdm/model/1.0")
304 @XmlElement(name
= "HomotypicalGroup", namespace
= "http://etaxonomy.eu/cdm/model/name/1.0")
305 protected List
<HomotypicalGroup
> homotypicalGroups
;
307 // @XmlElement(name = "TdwgArea", namespace = "http://etaxonomy.eu/cdm/model/location/1.0", type = TdwgArea.class),
311 agents
= new ArrayList
<Agent
>();
312 agentData
= new ArrayList
<VersionableEntity
>();
313 // featureData = new ArrayList<VersionableEntity>();
314 featureData
= new ArrayList
<VersionableEntity
>();
315 languageData
= new ArrayList
<LanguageStringBase
>();
316 terms
= new ArrayList
<DefinedTermBase
>();
317 termVocabularies
= new ArrayList
<TermVocabulary
<DefinedTermBase
>>();
318 occurrences
= new ArrayList
<SpecimenOrObservationBase
>();
319 references
= new ArrayList
<ReferenceBase
>();
320 referencedEntities
= new ArrayList
<ReferencedEntityBase
>();
321 taxonomicNames
= new ArrayList
<TaxonNameBase
>();
322 taxa
= new ArrayList
<Taxon
>();
323 synonyms
= new ArrayList
<Synonym
>();
324 relationships
= new HashSet
<RelationshipBase
>();
325 media
= new ArrayList
<Media
>();
326 homotypicalGroups
= new ArrayList
<HomotypicalGroup
>();
330 * Gets the value of the agents property.
334 * {@link List<Agent> }
337 public List
<?
extends Agent
> getAgents() {
342 * Sets the value of the agents property.
346 * {@link List<Agent> }
349 public void setAgents(List
<?
extends Agent
> value
) {
354 * Gets the value of the agentData property.
358 * {@link List<VersionableEntity> }
361 public List
<VersionableEntity
> getAgentData() {
366 * Sets the value of the agentData property.
370 * {@link List<VersionableEntity> }
373 public void setAgentData(List
<VersionableEntity
> value
) {
374 this.agentData
= value
;
378 * Gets the value of the terms property.
382 * {@link List<TermBase> }
386 //public List<? extends TermBase> getTerms() {
387 public List
<DefinedTermBase
> getTerms() {
392 * Sets the value of the terms property.
396 * {@link List<TermBase> }
399 //public void setTerms(List<? extends TermBase> value) {
400 public void setTerms(List
<DefinedTermBase
> value
) {
405 * Gets the value of the term vocabularies property.
409 * {@link List<TermVocabulary> }
413 public List
<TermVocabulary
<DefinedTermBase
>> getTermVocabularies() {
414 return termVocabularies
;
418 * Sets the value of the term vocabularies property.
422 * {@link List<TermVocabulary> }
425 public void setTermVocabularies(List
<TermVocabulary
<DefinedTermBase
>> value
) {
426 this.termVocabularies
= value
;
430 * Gets the value of the taxonomicNames property.
434 * {@link List<axonNameBase> }
437 public List
<TaxonNameBase
> getTaxonomicNames() {
438 return taxonomicNames
;
442 * Sets the value of the taxonomicNames property.
446 * {@link List<TaxonNameBase> }
449 public void setTaxonomicNames(List
<TaxonNameBase
> value
) {
450 this.taxonomicNames
= value
;
454 * Gets the value of the references property.
458 * {@link List<SpecimenOrObservationBase> }
461 public List
<SpecimenOrObservationBase
> getOccurrences() {
466 * Sets the value of the references property.
470 * {@link List<SpecimenOrObservationBase> }
473 public void setOccurrences(List
<SpecimenOrObservationBase
> value
) {
474 this.occurrences
= value
;
478 * Gets the value of the references property.
482 * {@link List<ReferenceBase> }
485 public List
<ReferenceBase
> getReferences() {
490 * Sets the value of the references property.
494 * {@link List<ReferenceBase> }
497 public void setReferences(List
<ReferenceBase
> value
) {
498 this.references
= value
;
502 * Adds the referenced entities in value to the referenced entity property list.
506 * {@link Collection<ReferencedEntityBase> }
509 public <T
extends ReferencedEntityBase
> void addReferencedEntities(Collection
<T
> value
) {
510 for (T referencedEntity
: value
) {
511 this.referencedEntities
.add(referencedEntity
);
516 * Gets the value of the property.
520 * {@link List<ReferencedEntityBase> }
523 public List
<ReferencedEntityBase
> getReferencedEntities() {
524 return referencedEntities
;
528 * Sets the value of the referencedEntities property.
532 * {@link List<ReferencedEntityBase> }
535 public void setReferencedEntities(List
<?
extends ReferencedEntityBase
> value
) {
536 this.referencedEntities
= new ArrayList
<ReferencedEntityBase
>();
537 referencedEntities
.addAll(value
);
541 * Adds the features in value to the feature data property list.
545 * {@link Collection<VersionableEntity> }
548 public <T
extends VersionableEntity
> void addFeatureData(Collection
<T
> value
) {
549 for (T featureItem
: value
) {
550 this.featureData
.add(featureItem
);
555 * Gets the value of the feature data property.
559 * {@link List<VersionableEntity> }
562 // public List<VersionableEntity> getFeatureData() {
563 public List
<VersionableEntity
> getFeatureData() {
568 * Sets the value of the feature data property.
572 * {@link List<VersionableEntity> }
575 public <T
extends VersionableEntity
> void setFeatureData(List
<T
> value
) {
576 featureData
= new ArrayList
<VersionableEntity
>();
577 for (T featureItem
: value
) {
578 this.featureData
.add(featureItem
);
582 // public void setFeatureData(List<? extends VersionableEntity> value) {
583 //public void setFeatureData(List<? extends VersionableEntity<?>> value) {
584 // this.featureData = new ArrayList<VersionableEntity>();
585 // this.featureData = new ArrayList<VersionableEntity<?>>();
586 // featureData.addAll(value);
590 * Adds the features in value to the language data property list.
594 * {@link Collection<LanguageStringBase> }
597 public <T
extends LanguageStringBase
> void addLanguageData(Collection
<T
> value
) {
598 for (T languageItem
: value
) {
599 this.languageData
.add(languageItem
);
604 * Gets the value of the language data property.
608 * {@link List<LanguageStringBase> }
611 public List
<LanguageStringBase
> getLanguageData() {
616 * Sets the value of the feature data property.
620 * {@link List<LanguageStringBase> }
623 public void setLanguageData(List
<?
extends LanguageStringBase
> value
) {
624 this.languageData
= new ArrayList
<LanguageStringBase
>();
625 languageData
.addAll(value
);
629 * Adds the taxa in value to the taxa property list.
633 * {@link Collection<Taxon> }
636 public void addTaxa(Collection
<Taxon
> value
) {
637 for (Taxon taxon
: value
) {
638 this.taxa
.add(taxon
);
643 * Gets the value of the taxa property.
647 * {@link List<Taxon> }
650 // public List<Taxon> getTaxa() {
655 * Gets the value of the taxa property as {@link Collection<TaxonBase> }
659 * {@link Collection<TaxonBase> }
662 public Collection
<?
extends TaxonBase
> getTaxa() {
664 //TODO can be deleted when everything works
666 //Collection<TaxonBase> taxonBases = (Collection<TaxonBase>)obj;
667 List
<Taxon
> list
= taxa
;
671 public Collection
<TaxonBase
> getTaxonBases() {
673 Collection
<TaxonBase
> result
= new HashSet
<TaxonBase
>();;
677 if (synonyms
!= null) {
678 result
.addAll(synonyms
);
684 * Sets the value of the taxa property.
688 * {@link List<Taxon> }
691 public void setTaxa(List
<Taxon
> value
) {
696 * Adds the taxon in value to the taxa property list.
701 public void addTaxon(Taxon value
) {
702 this.taxa
.add(value
);
707 * Gets the value of the synonyms property.
711 * {@link List<Synonym> }
714 public List
<Synonym
> getSynonyms() {
719 * Sets the value of the synonyms property.
723 * {@link List<Synonym> }
726 public void setSynonyms(List
<Synonym
> value
) {
727 this.synonyms
= value
;
731 * Adds the synonym in value to the taxa property list.
736 public void addSynonym(Synonym value
) {
737 this.synonyms
.add(value
);
741 * Adds the synonym in value to the synonyms property list.
745 * {@link Collection<Synonym> }
748 public void addSynonyms(Collection
<Synonym
> value
) {
749 for (Synonym synonym
: value
) {
750 this.synonyms
.add(synonym
);
755 * Gets the value of the relationships property.
759 * {@link Set<RelationshipBase> }
762 public Set
<RelationshipBase
> getRelationships() {
763 return relationships
;
767 * Sets the value of the relationships property.
771 * {@link Set<RelationshipBase> }
774 public void setRelationships(Set
<RelationshipBase
> value
) {
775 this.relationships
= value
;
779 * Adds the relationship in value to the relationships property list.
783 * {@link Collection<RelationshipBase> }
786 public void addRelationships(Collection
<?
extends RelationshipBase
> value
) {
787 for (RelationshipBase relationship
: value
) {
788 this.relationships
.add(relationship
);
793 * Adds the media in value to the media property list.
797 * {@link Collection<VersionableEntity> }
800 public <T
extends Media
> void addMedia(Collection
<T
> value
) {
801 for (T medium
: value
) {
802 this.media
.add(medium
);
807 * Gets the value of the property.
811 * {@link List<ReferencedEntityBase> }
814 public List
<Media
> getMedia() {
819 * Sets the value of the referencedEntities property.
823 * {@link List<ReferencedEntityBase> }
826 public void setMedia(List
<Media
> value
) {
827 this.media
= new ArrayList
<Media
>();
832 * Gets the value of the synonyms property.
836 * {@link List<Synonym> }
839 public List
<HomotypicalGroup
> getHomotypicalGroups() {
840 return homotypicalGroups
;
844 * Sets the value of the synonyms property.
848 * {@link List<Synonym> }
851 public void setHomotypicalGroups(List
<HomotypicalGroup
> value
) {
852 this.homotypicalGroups
= value
;