rename getRankByAbbrev methods to getRankByIdInVoc #3479
[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 CDM_SOURCE_REFERENCE("http://eu.etaxonomy.cdm.io.common.sourceReference"),
24 CDM_SOURCE_IDNAMESPACE("http://eu.etaxonomy.cdm.io.common.originalSourceBase.idNamespace"),
25 CDM_SOURCE_IDINSOURCE("http://eu.etaxonomy.cdm.io.common.originalSourceBase.idInSource"),
26
27 DC_ACCESS_RIGHTS("http://purl.org/dc/terms/accessRights"),
28 DC_AUDIENCE("http://purl.org/dc/terms/audience"),
29 DC_BIBLIOGRAPHIC_CITATION("http://purl.org/dc/terms/bibliographicCitation"),
30 DC_CONTRIBUTOR("http://purl.org/dc/terms/contributor"),
31 DC_CREATED("http://purl.org/dc/terms/created"),
32 DC_CREATOR("http://purl.org/dc/terms/creator"),
33 DC_DATE("http://purl.org/dc/terms/date"),
34 DC_DESCRIPTION("http://purl.org/dc/terms/description"),
35 DC_FORMAT("http://purl.org/dc/terms/format"),
36 DC_IDENTIFIER("http://purl.org/dc/terms/identifier"),
37 DC_LANGUAGE("http://purl.org/dc/terms/language"),
38 DC_LICENSE("http://purl.org/dc/terms/license"),
39 DC_MODIFIED("http://purl.org/dc/terms/modified"),
40 DC_PUBLISHER("http://purl.org/dc/terms/publisher"),
41 DC_REFERENCES("http://purl.org/dc/terms/references"),
42 DC_RIGHTS("http://purl.org/dc/terms/rights"),
43 DC_RIGHTS_HOLDER("http://purl.org/dc/terms/rightsHolder"),
44 DC_SOURCE("http://purl.org/dc/terms/source"),
45 DC_SPATIAL("http://purl.org/dc/terms/spatial"),
46 DC_SUBJECT("http://purl.org/dc/terms/subject"),
47 DC_TEMPORAL("http://purl.org/dc/terms/temporal"),
48 DC_TITLE("http://purl.org/dc/terms/title"),
49 DC_TYPE("http://purl.org/dc/terms/type"),
50
51 GEO_WGS84_LATITUDE("http://www.w3.org/2003/01/geo/wgs84_pos#latitude"),
52 GEO_WGS84_LONGITUDE("http://www.w3.org/2003/01/geo/wgs84_pos#longitude"),
53
54 GBIF_APPENDIX_CITES("http://rs.gbif.org/terms/1.0/appendixCITES"),
55 GBIF_IS_PLURAL("http://rs.gbif.org/terms/1.0/isPlural"),
56 GBIF_ORGANISM_PART("http://rs.gbif.org/terms/1.0/organismPart"),
57 GBIF_IS_PREFERRED_NAME("http://rs.gbif.org/terms/1.0/isPreferredName"),
58 GBIF_VERBATIM_LABEL("http://rs.gbif.org/terms/1.0/verbatimLabel"),
59
60 IUCN_THREAD_STATUS("http://iucn.org/terms/threatStatus"),
61
62 DWC_VERNACULAR_NAME("http://rs.tdwg.org/dwc/terms/vernacularName"),
63 DWC_LOCATION_ID("http://rs.tdwg.org/dwc/terms/locationID"),
64 DWC_COUNTRY_CODE("http://rs.tdwg.org/dwc/terms/countryCode"),
65 DWC_LOCALITY("http://rs.tdwg.org/dwc/terms/locality"),
66 DWC_SEX("http://rs.tdwg.org/dwc/terms/sex"),
67 DWC_LIFESTAGE("http://rs.tdwg.org/dwc/terms/lifeStage"),
68 DWC_TAXON_REMARKS("http://rs.tdwg.org/dwc/terms/taxonRemarks"),
69 DWC_VERBATIM_EVENT_DATE("http://rs.tdwg.org/dwc/terms/verbatimEventDate"),
70 DWC_VERBATIM_LONGITUDE("http://rs.tdwg.org/dwc/terms/verbatimLongitude"),
71 DWC_VERBATIM_LATITUDE("http://rs.tdwg.org/dwc/terms/verbatimLatitude"),
72 DWC_COORDINATES_PRECISION("http://rs.tdwg.org/dwc/terms/coordinatePrecision"),
73 DWC_SCIENTIFIC_NAME_ID("http://rs.tdwg.org/dwc/terms/scientificNameID"),
74 DWC_ACCEPTED_NAME_USAGE_ID("http://rs.tdwg.org/dwc/terms/acceptedNameUsageID"),
75 DWC_PARENT_NAME_USAGE_ID("http://rs.tdwg.org/dwc/terms/parentNameUsageID"),
76 DWC_ORIGINAL_NAME_USAGE_ID("http://rs.tdwg.org/dwc/terms/originalNameUsageID"),
77 DWC_NAME_ACCORDING_TO_ID("http://rs.tdwg.org/dwc/terms/nameAccordingToID"),
78 DWC_NAME_PUBLISHED_IN_ID("http://rs.tdwg.org/dwc/terms/namePublishedInID"),
79 DWC_TAXON_CONCEPT_ID("http://rs.tdwg.org/dwc/terms/taxonConceptID"),
80 DWC_SCIENTIFIC_NAME("http://rs.tdwg.org/dwc/terms/scientificName"),
81 DWC_ACCEPTED_NAME_USAGE("http://rs.tdwg.org/dwc/terms/acceptedNameUsage"),
82 DWC_PARENT_NAME_USAGE("http://rs.tdwg.org/dwc/terms/parentNameUsage"),
83 DWC_NAME_ACCORDING_TO("http://rs.tdwg.org/dwc/terms/nameAccordingTo"),
84 DWC_ORIGINAL_NAME_USAGE("http://rs.tdwg.org/dwc/terms/originalNameUsage"),
85 DWC_NAME_PUBLISHED_IN("http://rs.tdwg.org/dwc/terms/namePublishedIn"),
86 DWC_HIGHER_CLASSIFICATION("http://rs.tdwg.org/dwc/terms/higherClassification"),
87 DWC_KINGDOM("http://rs.tdwg.org/dwc/terms/kingdom"),
88 DWC_PHYLUM("http://rs.tdwg.org/dwc/terms/phylum"),
89 DWC_CLASS("http://rs.tdwg.org/dwc/terms/class"),
90 DWC_ORDER("http://rs.tdwg.org/dwc/terms/order"),
91 DWC_FAMILY("http://rs.tdwg.org/dwc/terms/family"),
92 DWC_GENUS("http://rs.tdwg.org/dwc/terms/genus"),
93 DWC_SUBGENUS("http://rs.tdwg.org/dwc/terms/subgenus"),
94 DWC_SPECIFIC_EPI("http://rs.tdwg.org/dwc/terms/specificEpithet"),
95 DWC_INFRA_SPECIFIC_EPI("http://rs.tdwg.org/dwc/terms/infraspecificEpithet"),
96 DWC_TAXON_RANK("http://rs.tdwg.org/dwc/terms/taxonRank"),
97 DWC_VERBATIM_TAXON_RANK("http://rs.tdwg.org/dwc/terms/verbatimTaxonRank"),
98 DWC_SCIENTIFIC_NAME_AUTHORS("http://rs.tdwg.org/dwc/terms/scientificNameAuthorship"),
99 DWC_NOMENCLATURAL_CODE("http://rs.tdwg.org/dwc/terms/nomenclaturalCode"),
100 DWC_TAXONOMIC_STATUS("http://rs.tdwg.org/dwc/terms/taxonomicStatus"),
101 DWC_NOMENCLATURAL_STATUS("http://rs.tdwg.org/dwc/terms/nomenclaturalStatus"),
102 DWC_INFORMATION_WITHHELD("http://rs.tdwg.org/dwc/terms/informationWithheld"),
103 DWC_DATASET_NAME("http://rs.tdwg.org/dwc/terms/datasetName"),
104 DWC_DATASET_ID("http://rs.tdwg.org/dwc/terms/datasetID"),
105
106 DWC_RESOURCE_RELATIONSHIP("http://rs.tdwg.org/dwc/terms/ResourceRelationship"),
107 DWC_TAXON("http://rs.tdwg.org/dwc/terms/Taxon"),
108
109 DWC_TYPE_STATUS("http://rs.tdwg.org/dwc/terms/typeStatus"),
110 DWC_TYPE_DESIGNATED_BY("http://rs.tdwg.org/dwc/terms/typeDesignatedBy"),
111 DWC_OCCURRENCE_ID("http://rs.tdwg.org/dwc/terms/occurrenceID"),
112 DWC_INSTITUTION_CODE("http://rs.tdwg.org/dwc/terms/institutionCode"),
113 DWC_COLLECTION_CODE("http://rs.tdwg.org/dwc/terms/collectionCode"),
114 DWC_CATALOG_NUMBER("http://rs.tdwg.org/dwc/terms/catalogNumber"),
115 DWC_RECORDED_BY("http://rs.tdwg.org/dwc/terms/recordedBy"),
116 DWC_VERBATIM_LABEL("http://rs.tdwg.org/dwc/terms/verbatimLabel"),
117
118 DWC_RESOURCE_RELATIONSHIP_ID("http://rs.tdwg.org/dwc/terms/resourceRelationshipID"),
119 DWC_RELATED_RESOURCE_ID("http://rs.tdwg.org/dwc/terms/relatedResourceID"),
120 DWC_RELATIONSHIP_OF_RESOURCE("http://rs.tdwg.org/dwc/terms/relationshipOfResource"),
121 DWC_RELATIONSHIP_ACCORDING_TO("http://rs.tdwg.org/dwc/terms/relationshipAccordingTo"),
122 DWC_RELATIONSHIP_ESTABLISHED_DATE("http://rs.tdwg.org/dwc/terms/relationshipEstablishedDate"),
123 DWC_RELATIONSHIP_REMARKS("http://rs.tdwg.org/dwc/terms/relationshipRemarks"),
124
125 DWC_OCCURRENCE_STATUS("http://rs.tdwg.org/dwc/terms/occurrenceStatus"),
126 DWC_ESTABLISHMENT_MEANS("http://rs.tdwg.org/dwc/terms/establishmentMeans"),
127
128 DWC_EVENT_DATE("http://rs.tdwg.org/dwc/terms/eventDate"),
129 DWC_START_DAY_OF_YEAR("http://rs.tdwg.org/dwc/terms/startDayOfYear"),
130 DWC_END_DAY_OF_YEAR("http://rs.tdwg.org/dwc/terms/endDayOfYear"),
131 DWC_OCCURRENCE_REMARKS("http://rs.tdwg.org/dwc/terms/occurrenceRemarks"),
132
133 TDWG_UNINOMIAL("http://rs.tdwg.org/ontology/voc/TaxonName#uninomial"),
134 TDWG_GENUSPART("http://rs.tdwg.org/ontology/voc/TaxonName#genusPart"),
135 TDWG_INFRAGENERICEPITHET("http://rs.tdwg.org/ontology/voc/TaxonName#infragenericEpithet"),
136
137 GBIF_TYPES_AND_SPECIMEN("http://rs.gbif.org/terms/1.0/TypesAndSpecimen"),
138 GBIF_VERNACULAR_NAMES("http://rs.gbif.org/terms/1.0/VernacularName"),
139 GBIF_IDENTIFIER("http://rs.gbif.org/terms/1.0/Identifier"),
140 GBIF_SPECIES_PROFILE("http://rs.gbif.org/terms/1.0/SpeciesProfile"),
141 GBIF_REFERENCE("http://rs.gbif.org/terms/1.0/Reference"),
142 GBIF_DESCRIPTION("http://rs.gbif.org/terms/1.0/Description"),
143 GBIF_DISTRIBUTION("http://rs.gbif.org/terms/1.0/Distribution"),
144 GBIF_IMAGE("http://rs.gbif.org/terms/1.0/Image"),
145
146 EOL_AGENT("http://eol.org/schema/agent/Agent"),
147 EOL_ORGANIZATION("http://eol.org/schema/agent/organization"),
148
149
150 FOAF_FAMILY_NAME("http://xmlns.com/foaf/spec/#term_familyName"),
151 FOAF_FIRST_NAME("http://xmlns.com/foaf/spec/#term_firstName"),
152 FOAF_NAME("http://xmlns.com/foaf/spec/#term_Name"),
153 FOAF_ACCOUNT_NAME("http://xmlns.com/foaf/spec/#term_accountName"),
154
155 DWC_COORDINATES_SYSTEM("http://rs.tdwg.org/dwc/terms/verbatimCoordinateSystem"),
156
157
158 ;
159
160 @SuppressWarnings("unused")
161 private static final Logger logger = Logger.getLogger(TermUri.class);
162
163
164 private URI uri;
165
166 private TermUri(String uri){
167 try {
168 this.uri = new URI(uri);
169 } catch (URISyntaxException e) {
170 throw new RuntimeException(e);
171 }
172 }
173
174
175 public String getUriString(){
176 return this.uri.toString();
177 }
178
179 public URI getUri(){
180 return this.uri;
181 }
182
183 @Override
184 public String toString(){
185 return getUriString();
186 }
187
188 public static TermUri valueOfUriString(String termUriString){
189 for (TermUri term: TermUri.values()){
190 if (term.getUriString().equals(termUriString)){
191 return term;
192 }
193 }
194 return null;
195 }
196
197 }