Project

General

Profile

Download (6.48 KB) Statistics
| Branch: | Tag: | Revision:
1
/**
2
* Copyright (C) 2007 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
package eu.etaxonomy.cdm.remote.dto.tdwg;
10

    
11
import java.io.Serializable;
12
import java.net.URI;
13
import java.util.Set;
14

    
15
import javax.xml.bind.annotation.XmlAccessType;
16
import javax.xml.bind.annotation.XmlAccessorType;
17
import javax.xml.bind.annotation.XmlElement;
18
import javax.xml.bind.annotation.XmlType;
19
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
20

    
21
import org.joda.time.DateTime;
22

    
23
import eu.etaxonomy.cdm.jaxb.DateTimeAdapter;
24
import eu.etaxonomy.cdm.jaxb.LSIDAdapter;
25
import eu.etaxonomy.cdm.model.common.LSID;
26
import eu.etaxonomy.cdm.remote.dto.dc.Relation;
27
import eu.etaxonomy.cdm.remote.dto.tdwg.voc.LinkType;
28
import eu.etaxonomy.cdm.remote.dto.tdwg.voc.PublicationCitation;
29

    
30
@XmlAccessorType(XmlAccessType.FIELD)
31
@XmlType(name = "BaseThing", propOrder = {
32
	    "title",
33
	    "sameAs",
34
	    "identifier",
35
	    "created",
36
	    "relations",
37
	    "abcdEquivalence",
38
	    "berlinModelEquivalence",
39
	    "darwinCoreEquivalence",
40
	    "deprecated",
41
	    "restricted",
42
	    "microReference",
43
	    "notes",
44
	    "publishedIn",
45
	    "taxonomicPlacementFormal",
46
	    "taxonomicPlacementInformal",
47
	    "tcsEquivalence",
48
	    "publishedInCitation"
49
})
50
public abstract class BaseThing {
51
	@XmlElement(namespace = "http://purl.org/dc/elements/1.1/")
52
	private String title;
53
	
54
	@XmlElement(namespace = "http://www.w3.org/2002/07/owl#")
55
	private String sameAs;
56
	
57
	@XmlElement(namespace = "http://purl.org/dc/elements/1.1/")
58
	private URI identifier;
59
	
60
	@XmlElement(namespace = "http://purl.org/dc/terms/")
61
	@XmlJavaTypeAdapter(DateTimeAdapter.class)
62
	private DateTime created;
63
	
64
	@XmlElement(name = "relation", namespace = "http://purl.org/dc/elements/1.1/")
65
	private Set<Relation> relations;
66
	
67
	@XmlElement
68
	private String abcdEquivalence;
69
	
70
	@XmlElement
71
	private String berlinModelEquivalence;
72
	
73
	@XmlElement
74
	private String darwinCoreEquivalence;
75
	
76
	@XmlElement(name = "isDeprecated")
77
	private Boolean deprecated;
78
	
79
	@XmlElement(name = "isRestricted")
80
	private Boolean restricted;
81
	
82
	@XmlElement
83
	private String microReference;
84
	
85
	@XmlElement
86
	private Set<String> notes;
87
	
88
	@XmlElement
89
	private String publishedIn;
90

    
91
	@XmlElement
92
	private String taxonomicPlacementFormal;
93

    
94
	@XmlElement
95
	private String taxonomicPlacementInformal;
96

    
97
	@XmlElement
98
	private String tcsEquivalence;
99

    
100
	@XmlElement(name = "publishedInCitation")
101
	private PublishedInCitation publishedInCitation;
102
	
103
	public String getAbcdEquivalence() {
104
		return abcdEquivalence;
105
	}
106
	
107
	public String getBerlinModelEquivalence() {
108
		return berlinModelEquivalence;
109
	}
110
	
111
	//dcterms:created
112
	public DateTime getCreated() {
113
		return created;
114
	}
115

    
116
	public String getDarwinCoreEquivalence() {
117
		return darwinCoreEquivalence;
118
	}
119
	
120
	//dc:identifier
121
	public URI getIdentifier() {
122
		return identifier;
123
	}
124
	
125
	public String getMicroReference() {
126
		return microReference;
127
	}
128

    
129
	public Set<String> getNotes() {
130
		return notes;
131
	}
132

    
133
	public String getPublishedIn() {
134
		return publishedIn;
135
	}
136

    
137
	//owl:sameAs
138
	public String getSameAs() {
139
		return sameAs;
140
	}
141

    
142
	public String getTaxonomicPlacementFormal() {
143
		return taxonomicPlacementFormal;
144
	}
145

    
146
	public String getTaxonomicPlacementInformal() {
147
		return taxonomicPlacementInformal;
148
	}
149

    
150
	public String getTcsEquivalence() {
151
		return tcsEquivalence;
152
	}
153

    
154
	//dc:title
155
	public String getTitle() {
156
		return title;
157
	}
158

    
159
	public Boolean isDeprecated() {
160
		return deprecated;
161
	}
162

    
163
	public Boolean isRestricted() {
164
		return restricted;
165
	}
166
	
167
	public void setDeprecated(Boolean deprecated) {
168
		this.deprecated = deprecated;
169
	}
170
	
171
	public void setIdentifier(URI identifier) {
172
		this.identifier = identifier;
173
	}
174
	
175
	public void setMicroReference(String microReference) {
176
		this.microReference = microReference;
177
	}
178
	
179
	public void setNotes(Set<String> notes) {
180
		this.notes = notes;
181
	}
182
	
183
	public void setPublishedIn(String publishedIn) {
184
		this.publishedIn = publishedIn;
185
	}
186
	
187
	public void setRestricted(Boolean restricted) {
188
		this.restricted = restricted;
189
	} 
190
	
191
	public void setSameAs(String sameAs) {
192
		this.sameAs = sameAs;
193
	}
194
	
195
	public void setTaxonomicPlacementFormal(String taxonomicPlacementFormal) {
196
		this.taxonomicPlacementFormal = taxonomicPlacementFormal;
197
	}
198
	
199
	public void setTaxonomicPlacementInformal(String taxonomicPlacementInformal) {
200
		this.taxonomicPlacementInformal = taxonomicPlacementInformal;
201
	}
202

    
203
	public void setTcsEquivalence(String tcsEquivalence) {
204
		this.tcsEquivalence = tcsEquivalence;
205
	}
206

    
207
	public void setTitle(String title) {
208
		this.title = title;
209
	}
210

    
211
	public void setCreated(DateTime created) {
212
		this.created = created;
213
	}
214

    
215
	public void setPublishedInCitation(PublicationCitation publicationCitation) {
216
		this.publishedInCitation = new PublishedInCitation(publicationCitation, false);
217
	}
218
	
219
	public PublicationCitation getPublishedInCitation() {
220
		return publishedInCitation != null ? publishedInCitation.getPublicationCitation() : null;
221
	}
222
	
223
	public void setPublishedInCitationRelation(PublicationCitation publicationCitation) {
224
		this.publishedInCitation = new PublishedInCitation(publicationCitation, true);
225
	}
226
	
227
	public PublicationCitation getPublishedInCitationRelation() {
228
		return publishedInCitation != null ? publishedInCitation.getPublicationCitation() : null;
229
	}
230

    
231
	public void setRelations(Set<Relation> relations) {
232
		this.relations = relations;
233
	}
234

    
235
	public Set<Relation> getRelations() {
236
		return relations;
237
	}
238
	
239
	@XmlAccessorType(XmlAccessType.FIELD)
240
    @XmlType(name = "", propOrder = {
241
        "publicationCitation"
242
    })
243
	public static class PublishedInCitation extends LinkType {
244
		
245
		@XmlElement(name = "PublicationCitation", namespace = "http://rs.tdwg.org/ontology/voc/PublicationCitation#")
246
		private PublicationCitation publicationCitation;
247
		
248
		protected PublishedInCitation() {}
249
		
250
		protected PublishedInCitation(PublicationCitation publicationCitation, boolean useRelation) {
251
			if(useRelation) {
252
			    if(publicationCitation != null && publicationCitation.getIdentifier() != null) {
253
			    	this.setResource(publicationCitation.getIdentifier());
254
			    }  else {
255
			    	this.publicationCitation = publicationCitation;
256
			    }
257
			} else {
258
				this.publicationCitation = publicationCitation;
259
			}
260
		}
261

    
262
		protected void setPublicationCitation(PublicationCitation publicationCitation) {
263
			this.publicationCitation = publicationCitation;
264
		}
265

    
266
		protected PublicationCitation getPublicationCitation() {
267
			return publicationCitation;
268
		}
269

    
270
	}
271
}
(2-2/7)