Updates to DwcA import (namePublishedIn, accordingTo, etc.)
[cdmlib.git] / cdmlib-io / src / main / java / eu / etaxonomy / cdm / io / dwca / TermUri.java
1 // $Id$
2 /**
3 * Copyright (C) 2009 EDIT
4 * European Distributed Institute of Taxonomy
5 * http://www.e-taxonomy.eu
6 *
7 * The contents of this file are subject to the Mozilla Public License Version 1.1
8 * See LICENSE.TXT at the top of this package for the full license terms.
9 */
10 package eu.etaxonomy.cdm.io.dwca;
11
12 import java.net.URI;
13 import java.net.URISyntaxException;
14
15 import org.apache.log4j.Logger;
16
17 /**
18 * @author a.mueller
19 * @date 27.04.2011
20 *
21 */
22 public enum TermUri {
23 DC_ACCESS_RIGHTS("http://purl.org/dc/terms/accessRights"),
24 DC_AUDIENCE("http://purl.org/dc/terms/audience"),
25 DC_BIBLIOGRAPHIC_CITATION("http://purl.org/dc/terms/bibliographicCitation"),
26 DC_CONTRIBUTOR("http://purl.org/dc/terms/contributor"),
27 DC_CREATED("http://purl.org/dc/terms/created"),
28 DC_CREATOR("http://purl.org/dc/terms/creator"),
29 DC_DATE("http://purl.org/dc/terms/date"),
30 DC_DESCRIPTION("http://purl.org/dc/terms/description"),
31 DC_FORMAT("http://purl.org/dc/terms/format"),
32 DC_IDENTIFIER("http://purl.org/dc/terms/identifier"),
33 DC_LANGUAGE("http://purl.org/dc/terms/language"),
34 DC_LICENSE("http://purl.org/dc/terms/license"),
35 DC_MODIFIED("http://purl.org/dc/terms/modified"),
36 DC_PUBLISHER("http://purl.org/dc/terms/publisher"),
37 DC_RIGHTS("http://purl.org/dc/terms/rights"),
38 DC_RIGHTS_HOLDER("http://purl.org/dc/terms/rightsHolder"),
39 DC_SOURCE("http://purl.org/dc/terms/source"),
40 DC_SPATIAL("http://purl.org/dc/terms/spatial"),
41 DC_SUBJECT("http://purl.org/dc/terms/subject"),
42 DC_TEMPORAL("http://purl.org/dc/terms/temporal"),
43 DC_TITLE("http://purl.org/dc/terms/title"),
44 DC_TYPE("http://purl.org/dc/terms/type"),
45
46 GEO_WGS84_LATITUDE("http://www.w3.org/2003/01/geo/wgs84_pos#latitude"),
47 GEO_WGS84_LONGITUDE("http://www.w3.org/2003/01/geo/wgs84_pos#longitude"),
48
49 GBIF_APPENDIX_CITES("http://rs.gbif.org/terms/1.0/appendixCITES"),
50 GBIF_IS_PLURAL("http://rs.gbif.org/terms/1.0/isPlural"),
51 GBIF_ORGANISM_PART("http://rs.gbif.org/terms/1.0/organismPart"),
52 GBIF_IS_PREFERRED_NAME("http://rs.gbif.org/terms/1.0/isPreferredName"),
53 GBIF_VERBATIM_LABEL("http://rs.gbif.org/terms/1.0/verbatimLabel"),
54
55 IUCN_THREAD_STATUS("http://iucn.org/terms/threatStatus"),
56
57 DWC_VERNACULAR_NAME("http://rs.tdwg.org/dwc/terms/vernacularName"),
58 DWC_LOCATION_ID("http://rs.tdwg.org/dwc/terms/locationID"),
59 DWC_COUNTRY_CODE("http://rs.tdwg.org/dwc/terms/countryCode"),
60 DWC_LOCALITY("http://rs.tdwg.org/dwc/terms/locality"),
61 DWC_SEX("http://rs.tdwg.org/dwc/terms/sex"),
62 DWC_LIFESTAGE("http://rs.tdwg.org/dwc/terms/lifeStage"),
63 DWC_TAXON_REMARKS("http://rs.tdwg.org/dwc/terms/taxonRemarks"),
64 DWC_VERBATIM_EVENT_DATE("http://rs.tdwg.org/dwc/terms/verbatimEventDate"),
65 DWC_VERBATIM_LONGITUDE("http://rs.tdwg.org/dwc/terms/verbatimLongitude"),
66 DWC_VERBATIM_LATITUDE("http://rs.tdwg.org/dwc/terms/verbatimLatitude"),
67 DWC_SCIENTIFIC_NAME_ID("http://rs.tdwg.org/dwc/terms/scientificNameID"),
68 DWC_ACCEPTED_NAME_USAGE_ID("http://rs.tdwg.org/dwc/terms/acceptedNameUsageID"),
69 DWC_PARENT_NAME_USAGE_ID("http://rs.tdwg.org/dwc/terms/parentNameUsageID"),
70 DWC_ORIGINAL_NAME_USAGE_ID("http://rs.tdwg.org/dwc/terms/originalNameUsageID"),
71 DWC_NAME_ACCORDING_TO_ID("http://rs.tdwg.org/dwc/terms/nameAccordingToID"),
72 DWC_NAME_PUBLISHED_IN_ID("http://rs.tdwg.org/dwc/terms/namePublishedInID"),
73 DWC_TAXON_CONCEPT_ID("http://rs.tdwg.org/dwc/terms/taxonConceptID"),
74 DWC_SCIENTIFIC_NAME("http://rs.tdwg.org/dwc/terms/scientificName"),
75 DWC_ACCEPTED_NAME_USAGE("http://rs.tdwg.org/dwc/terms/acceptedNameUsage"),
76 DWC_PARENT_NAME_USAGE("http://rs.tdwg.org/dwc/terms/parentNameUsage"),
77 DWC_NAME_ACCORDING_TO("http://rs.tdwg.org/dwc/terms/nameAccordingTo"),
78 DWC_ORIGINAL_NAME_USAGE("http://rs.tdwg.org/dwc/terms/originalNameUsage"),
79 DWC_NAME_PUBLISHED_IN("http://rs.tdwg.org/dwc/terms/namePublishedIn"),
80 DWC_HIGHER_CLASSIFICATION("http://rs.tdwg.org/dwc/terms/higherClassification"),
81 DWC_KINGDOM("http://rs.tdwg.org/dwc/terms/kingdom"),
82 DWC_PHYLUM("http://rs.tdwg.org/dwc/terms/phylum"),
83 DWC_CLASS("http://rs.tdwg.org/dwc/terms/class"),
84 DWC_ORDER("http://rs.tdwg.org/dwc/terms/order"),
85 DWC_FAMILY("http://rs.tdwg.org/dwc/terms/family"),
86 DWC_GENUS("http://rs.tdwg.org/dwc/terms/genus"),
87 DWC_SUBGENUS("http://rs.tdwg.org/dwc/terms/subgenus"),
88 DWC_SPECIFIC_EPI("http://rs.tdwg.org/dwc/terms/specificEpithet"),
89 DWC_INFRA_SPECIFIC_EPI("http://rs.tdwg.org/dwc/terms/infraspecificEpithet"),
90 DWC_TAXON_RANK("http://rs.tdwg.org/dwc/terms/taxonRank"),
91 DWC_VERBATIM_TAXON_RANK("http://rs.tdwg.org/dwc/terms/verbatimTaxonRank"),
92 DWC_SCIENTIFIC_NAME_AUTHORS("http://rs.tdwg.org/dwc/terms/scientificNameAuthorship"),
93 DWC_NOMENCLATURAL_CODE("http://rs.tdwg.org/dwc/terms/nomenclaturalCode"),
94 DWC_TAXONOMIC_STATUS("http://rs.tdwg.org/dwc/terms/taxonomicStatus"),
95 DWC_NOMENCLATURAL_STATUS("http://rs.tdwg.org/dwc/terms/nomenclaturalStatus"),
96 DWC_INFORMATION_WITHHELD("http://rs.tdwg.org/dwc/terms/informationWithheld"),
97 DWC_DATASET_NAME("http://rs.tdwg.org/dwc/terms/datasetName"),
98 DWC_DATASET_ID("http://rs.tdwg.org/dwc/terms/datasetID"),
99
100 DWC_RESOURCE_RELATIONSHIP("http://rs.tdwg.org/dwc/terms/ResourceRelationship"),
101 DWC_TAXON("http://rs.tdwg.org/dwc/terms/Taxon"),
102
103 DWC_TYPE_STATUS("http://rs.tdwg.org/dwc/terms/typeStatus"),
104 DWC_TYPE_DESIGNATED_BY("http://rs.tdwg.org/dwc/terms/typeDesignatedBy"),
105 DWC_OCCURRENCE_ID("http://rs.tdwg.org/dwc/terms/occurrenceID"),
106 DWC_INSTITUTION_CODE("http://rs.tdwg.org/dwc/terms/institutionCode"),
107 DWC_COLLECTION_CODE("http://rs.tdwg.org/dwc/terms/collectionCode"),
108 DWC_CATALOG_NUMBER("http://rs.tdwg.org/dwc/terms/catalogNumber"),
109 DWC_RECORDED_BY("http://rs.tdwg.org/dwc/terms/recordedBy"),
110 DWC_VERBATIM_LABEL("http://rs.tdwg.org/dwc/terms/verbatimLabel"),
111
112 DWC_RESOURCE_RELATIONSHIP_ID("http://rs.tdwg.org/dwc/terms/resourceRelationshipID"),
113 DWC_RELATED_RESOURCE_ID("http://rs.tdwg.org/dwc/terms/relatedResourceID"),
114 DWC_RELATIONSHIP_OF_RESOURCE("http://rs.tdwg.org/dwc/terms/relationshipOfResource"),
115 DWC_RELATIONSHIP_ACCORDING_TO("http://rs.tdwg.org/dwc/terms/relationshipAccordingTo"),
116 DWC_RELATIONSHIP_ESTABLISHED_DATE("http://rs.tdwg.org/dwc/terms/relationshipEstablishedDate"),
117 DWC_RELATIONSHIP_REMARKS("http://rs.tdwg.org/dwc/terms/relationshipRemarks"),
118
119 DWC_OCCURRENCE_STATUS("http://rs.tdwg.org/dwc/terms/occurrenceStatus"),
120 DWC_ESTABLISHMENT_MEANS("http://rs.tdwg.org/dwc/terms/establishmentMeans"),
121
122 DWC_EVENT_DATE("http://rs.tdwg.org/dwc/terms/eventDate"),
123 DWC_START_DAY_OF_YEAR("http://rs.tdwg.org/dwc/terms/startDayOfYear"),
124 DWC_END_DAY_OF_YEAR("http://rs.tdwg.org/dwc/terms/endDayOfYear"),
125 DWC_OCCURRENCE_REMARKS("http://rs.tdwg.org/dwc/terms/occurrenceRemarks"),
126
127 TDWG_UNINOMIAL("http://rs.tdwg.org/ontology/voc/TaxonName#uninomial"),
128 TDWG_GENUSPART("http://rs.tdwg.org/ontology/voc/TaxonName#genusPart"),
129 TDWG_INFRAGENERICEPITHET("http://rs.tdwg.org/ontology/voc/TaxonName#infragenericEpithet"),
130
131 GBIF_TYPES_AND_SPECIMEN("http://rs.gbif.org/terms/1.0/TypesAndSpecimen"),
132 GBIF_VERNACULAR_NAMES("http://rs.gbif.org/terms/1.0/VernacularName"),
133 GBIF_IDENTIFIER("http://rs.gbif.org/terms/1.0/Identifier"),
134 GBIF_SPECIES_PROFILE("http://rs.gbif.org/terms/1.0/SpeciesProfile"),
135 GBIF_REFERENCE("http://rs.gbif.org/terms/1.0/Reference"),
136 GBIF_DESCRIPTION("http://rs.gbif.org/terms/1.0/Description"),
137 GBIF_DISTRIBUTION("http://rs.gbif.org/terms/1.0/Distribution"),
138 GBIF_IMAGE("http://rs.gbif.org/terms/1.0/Image"),
139
140
141 ;
142
143 @SuppressWarnings("unused")
144 private static final Logger logger = Logger.getLogger(TermUri.class);
145
146
147 private URI uri;
148
149 private TermUri(String uri){
150 try {
151 this.uri = new URI(uri);
152 } catch (URISyntaxException e) {
153 throw new RuntimeException(e);
154 }
155 }
156
157
158 public String getUriString(){
159 return this.uri.toString();
160 }
161
162 public URI getUri(){
163 return this.uri;
164 }
165
166 @Override
167 public String toString(){
168 return getUriString();
169 }
170
171 public static TermUri valueOfUriString(String termUriString){
172 for (TermUri term: TermUri.values()){
173 if (term.getUriString().equals(termUriString)){
174 return term;
175 }
176 }
177 return null;
178 }
179
180 }