Project

General

Profile

Download (7.05 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.net.URI;
12
import java.time.ZonedDateTime;
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 eu.etaxonomy.cdm.jaxb.DateTimeAdapter;
22
import eu.etaxonomy.cdm.remote.dto.dc.Relation;
23
import eu.etaxonomy.cdm.remote.dto.tdwg.voc.LinkType;
24
import eu.etaxonomy.cdm.remote.dto.tdwg.voc.PublicationCitation;
25

    
26
@XmlAccessorType(XmlAccessType.FIELD)
27
@XmlType(name = "BaseThing", propOrder = {
28
	    "title",
29
	    "sameAs",
30
	    "identifier",
31
	    "created",
32
	    "creator",
33
	    "date",
34
	    "contributor",
35
	    "relation",
36
	    "abcdEquivalence",
37
	    "berlinModelEquivalence",
38
	    "darwinCoreEquivalence",
39
	    "deprecated",
40
	    "restricted",
41
	    "microReference",
42
	    "notes",
43
	    "publishedIn",
44
	    "taxonomicPlacementFormal",
45
	    "taxonomicPlacementInformal",
46
	    "tcsEquivalence",
47
	    "publishedInCitation"
48
})
49
public abstract class BaseThing {
50

    
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 ZonedDateTime created;
63

    
64
	@XmlElement(namespace = "http://purl.org/dc/terms/")
65
	@XmlJavaTypeAdapter(DateTimeAdapter.class)
66
	private ZonedDateTime date;
67

    
68
	@XmlElement(namespace = "http://purl.org/dc/elements/1.1/")
69
	private String creator;
70

    
71
	@XmlElement(namespace = "http://purl.org/dc/elements/1.1/")
72
	private String contributor;
73

    
74
	@XmlElement(name = "relation", namespace = "http://purl.org/dc/elements/1.1/")
75
	private Relation relation;
76

    
77
	@XmlElement
78
	private String abcdEquivalence;
79

    
80
	@XmlElement
81
	private String berlinModelEquivalence;
82

    
83
	@XmlElement
84
	private String darwinCoreEquivalence;
85

    
86
	@XmlElement(name = "isDeprecated")
87
	private Boolean deprecated;
88

    
89
	@XmlElement(name = "isRestricted")
90
	private Boolean restricted;
91

    
92
	@XmlElement
93
	private String microReference;
94

    
95
	@XmlElement
96
	private Set<String> notes;
97

    
98
	@XmlElement
99
	private String publishedIn;
100

    
101
	@XmlElement
102
	private String taxonomicPlacementFormal;
103

    
104
	@XmlElement
105
	private String taxonomicPlacementInformal;
106

    
107
	@XmlElement
108
	private String tcsEquivalence;
109

    
110
	@XmlElement(name = "publishedInCitation")
111
	private PublishedInCitation publishedInCitation;
112

    
113
	public ZonedDateTime getDate() {
114
		return date;
115
	}
116

    
117
	public void setDate(ZonedDateTime date) {
118
		this.date = date;
119
	}
120

    
121
	public String getCreator() {
122
		return creator;
123
	}
124

    
125
	public void setCreator(String creator) {
126
		this.creator = creator;
127
	}
128

    
129
	public String getContributor() {
130
		return contributor;
131
	}
132

    
133
	public void setContributor(String contributor) {
134
		this.contributor = contributor;
135
	}
136

    
137
	public String getAbcdEquivalence() {
138
		return abcdEquivalence;
139
	}
140

    
141
	public String getBerlinModelEquivalence() {
142
		return berlinModelEquivalence;
143
	}
144

    
145
	//dcterms:created
146
	public ZonedDateTime getCreated() {
147
		return created;
148
	}
149

    
150
	public String getDarwinCoreEquivalence() {
151
		return darwinCoreEquivalence;
152
	}
153

    
154
	//dc:identifier
155
	public URI getIdentifier() {
156
		return identifier;
157
	}
158

    
159
	public String getMicroReference() {
160
		return microReference;
161
	}
162

    
163
	public Set<String> getNotes() {
164
		return notes;
165
	}
166

    
167
	public String getPublishedIn() {
168
		return publishedIn;
169
	}
170

    
171
	//owl:sameAs
172
	public String getSameAs() {
173
		return sameAs;
174
	}
175

    
176
	public String getTaxonomicPlacementFormal() {
177
		return taxonomicPlacementFormal;
178
	}
179

    
180
	public String getTaxonomicPlacementInformal() {
181
		return taxonomicPlacementInformal;
182
	}
183

    
184
	public String getTcsEquivalence() {
185
		return tcsEquivalence;
186
	}
187

    
188
	//dc:title
189
	public String getTitle() {
190
		return title;
191
	}
192

    
193
	public Boolean isDeprecated() {
194
		return deprecated;
195
	}
196

    
197
	public Boolean isRestricted() {
198
		return restricted;
199
	}
200

    
201
	public void setDeprecated(Boolean deprecated) {
202
		this.deprecated = deprecated;
203
	}
204

    
205
	public void setIdentifier(URI identifier) {
206
		this.identifier = identifier;
207
	}
208

    
209
	public void setMicroReference(String microReference) {
210
		this.microReference = microReference;
211
	}
212

    
213
	public void setNotes(Set<String> notes) {
214
		this.notes = notes;
215
	}
216

    
217
	public void setPublishedIn(String publishedIn) {
218
		this.publishedIn = publishedIn;
219
	}
220

    
221
	public void setRestricted(Boolean restricted) {
222
		this.restricted = restricted;
223
	}
224

    
225
	public void setSameAs(String sameAs) {
226
		this.sameAs = sameAs;
227
	}
228

    
229
	public void setTaxonomicPlacementFormal(String taxonomicPlacementFormal) {
230
		this.taxonomicPlacementFormal = taxonomicPlacementFormal;
231
	}
232

    
233
	public void setTaxonomicPlacementInformal(String taxonomicPlacementInformal) {
234
		this.taxonomicPlacementInformal = taxonomicPlacementInformal;
235
	}
236

    
237
	public void setTcsEquivalence(String tcsEquivalence) {
238
		this.tcsEquivalence = tcsEquivalence;
239
	}
240

    
241
	public void setTitle(String title) {
242
		this.title = title;
243
	}
244

    
245
	public void setCreated(ZonedDateTime created) {
246
		this.created = created;
247
	}
248

    
249
	public void setPublishedInCitation(PublicationCitation publicationCitation) {
250
		this.publishedInCitation = new PublishedInCitation(publicationCitation, false);
251
	}
252

    
253
	public PublicationCitation getPublishedInCitation() {
254
		return publishedInCitation != null ? publishedInCitation.getPublicationCitation() : null;
255
	}
256

    
257
	public void setPublishedInCitationRelation(PublicationCitation publicationCitation) {
258
		this.publishedInCitation = new PublishedInCitation(publicationCitation, true);
259
	}
260

    
261
	public PublicationCitation getPublishedInCitationRelation() {
262
		return publishedInCitation != null ? publishedInCitation.getPublicationCitation() : null;
263
	}
264

    
265
	public void setRelation(Relation relation) {
266
		this.relation = relation;
267
	}
268

    
269
	public Relation getRelation() {
270
		return relation;
271
	}
272

    
273
	@XmlAccessorType(XmlAccessType.FIELD)
274
    @XmlType(name = "", propOrder = {
275
        "publicationCitation"
276
    })
277
	public static class PublishedInCitation extends LinkType {
278

    
279
		@XmlElement(name = "PublicationCitation", namespace = "http://rs.tdwg.org/ontology/voc/PublicationCitation#")
280
		private PublicationCitation publicationCitation;
281

    
282
		protected PublishedInCitation() {}
283

    
284
		protected PublishedInCitation(PublicationCitation publicationCitation, boolean useRelation) {
285
			if(useRelation) {
286
			    if(publicationCitation != null && publicationCitation.getIdentifier() != null) {
287
			    	this.setResource(publicationCitation.getIdentifier());
288
			    }  else {
289
			    	this.publicationCitation = publicationCitation;
290
			    }
291
			} else {
292
				this.publicationCitation = publicationCitation;
293
			}
294
		}
295

    
296
		protected void setPublicationCitation(PublicationCitation publicationCitation) {
297
			this.publicationCitation = publicationCitation;
298
		}
299

    
300
		protected PublicationCitation getPublicationCitation() {
301
			return publicationCitation;
302
		}
303

    
304
	}
305
}
(2-2/8)