ref #10133 fix ontology uuids for fusion and width
[cdmlib.git] / cdmlib-model / src / main / java / eu / etaxonomy / cdm / model / term / VocabularyEnum.java
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.model.term;
10
11 import java.util.ArrayList;
12 import java.util.List;
13 import java.util.UUID;
14
15 import eu.etaxonomy.cdm.model.common.AnnotationType;
16 import eu.etaxonomy.cdm.model.common.ExtensionType;
17 import eu.etaxonomy.cdm.model.common.Language;
18 import eu.etaxonomy.cdm.model.common.MarkerType;
19 import eu.etaxonomy.cdm.model.description.Feature;
20 import eu.etaxonomy.cdm.model.description.MeasurementUnit;
21 import eu.etaxonomy.cdm.model.description.NaturalLanguageTerm;
22 import eu.etaxonomy.cdm.model.description.PresenceAbsenceTerm;
23 import eu.etaxonomy.cdm.model.description.State;
24 import eu.etaxonomy.cdm.model.description.StatisticalMeasure;
25 import eu.etaxonomy.cdm.model.description.TextFormat;
26 import eu.etaxonomy.cdm.model.location.Country;
27 import eu.etaxonomy.cdm.model.location.NamedArea;
28 import eu.etaxonomy.cdm.model.location.NamedAreaLevel;
29 import eu.etaxonomy.cdm.model.location.NamedAreaType;
30 import eu.etaxonomy.cdm.model.location.ReferenceSystem;
31 import eu.etaxonomy.cdm.model.media.RightsType;
32 import eu.etaxonomy.cdm.model.name.HybridRelationshipType;
33 import eu.etaxonomy.cdm.model.name.NameRelationshipType;
34 import eu.etaxonomy.cdm.model.name.NameTypeDesignationStatus;
35 import eu.etaxonomy.cdm.model.name.NomenclaturalStatusType;
36 import eu.etaxonomy.cdm.model.name.Rank;
37 import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignationStatus;
38 import eu.etaxonomy.cdm.model.occurrence.DerivationEventType;
39 import eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType;
40
41 /**
42 * @author n.hoffmann
43 * @since 03.06.2009
44 **/
45 public enum VocabularyEnum {
46
47 Language("45ac7043-7f5e-4f37-92f2-3874aaaef2de", Language.class, 0),
48 UndefinedLanguage("7fd1e6d0-2e76-4dfa-bad9-2673dd042c28", Language.class, 0),
49 NamedAreaType("e51d52d6-965b-4f7d-900f-4ba9c6f5dd33", NamedAreaType.class, 0),
50 NamedAreaLevel("49034253-27c8-4219-97e8-f8d987d3d122", NamedAreaLevel.class, 1),
51 Continent("e72cbcb6-58f8-4201-9774-15d0c6abc128", NamedArea.class, 1),
52 Country("006b1870-7347-4624-990f-e5ed78484a1a", Country.class, 1),
53 Waterbody("35a62b25-f541-4f12-a7c7-17d90dec3e03", NamedArea.class, 1),
54 Rank("ef0d1ce1-26e3-4e83-b47b-ca74eed40b1b", Rank.class, 1),
55 SpecimenTypeDesignationStatus("ab177bd7-d3c8-4e58-a388-226fff6ba3c2", SpecimenTypeDesignationStatus.class, 1),
56 NomenclaturalStatusType("bb28cdca-2f8a-4f11-9c21-517e9ae87f1f", NomenclaturalStatusType.class, 1),
57 NomenclaturalStatusTypeIczn("5e3c08e9-13a9-498e-861e-b9b5656ab6ac", NomenclaturalStatusType.class, 1),
58 HybridRelationshipType("fc4abe52-9c25-4cfa-a682-8615bf4bbf07", HybridRelationshipType.class, 1),
59 NameRelationshipType("6878cb82-c1a4-4613-b012-7e73b413c8cd", NameRelationshipType.class, 1),
60 TaxonRelationshipType("15db0cf7-7afc-4a86-a7d4-221c73b0c9ac", TaxonRelationshipType.class, 1),
61 TermRelationshipType("4e5bb743-5ddf-4ee2-b893-36fbd386a5ee", TermRelationshipType.class, 1),
62 MarkerType("19dffff7-e142-429c-a420-5d28e4ebe305", MarkerType.class, 0),
63 AnnotationType("ca04609b-1ba0-4d31-9c2e-aa8eb2f4e62d", AnnotationType.class, 0),
64 MeasurementUnit("3b82c375-66bb-4636-be74-dc9cd087292a", MeasurementUnit.class, 0),
65 Feature("b187d555-f06f-4d65-9e53-da7c93f8eaa8", Feature.class, 0),
66 NameFeature("a7ca3eef-4092-49e1-beec-ed5096193e5e", Feature.class, 0),
67 TdwgArea("1fb40504-d1d7-44b0-9731-374fbe6cac77", NamedArea.class, 1),
68 PresenceAbsenceTerm("adbbbe15-c4d3-47b7-80a8-c7d104e53a05", PresenceAbsenceTerm.class, 1),
69 Sex("9718b7dd-8bc0-4cad-be57-3c54d4d432fe", DefinedTerm.class, 0),
70 DerivationEventType("398b50bb-348e-4fe0-a7f5-a75afd846d1f", DerivationEventType.class, 0),
71 // PreservationMethod("a7dc20c9-e6b3-459e-8f05-8d6d8fceb465", DefinedTerm.class),
72 DeterminationModifier("fe87ea8d-6e0a-4e5d-b0da-0ab8ea67ca77", DefinedTerm.class, 0),
73 StatisticalMeasure("066cc62e-7213-495e-a020-97a1233bc037", StatisticalMeasure.class, 0),
74 RightsType("8627c526-73af-44d9-902c-11c1f11b60b4", RightsType.class, 0),
75 NameTypeDesignationStatus("ab60e738-4d09-4c24-a1b3-9466b01f9f55", NameTypeDesignationStatus.class, 1),
76 ExtensionType("117cc307-5bd4-4b10-9b2f-2e14051b3b20",ExtensionType.class, 0),
77 ReferenceSystem("ec6376e5-0c9c-4f5c-848b-b288e6c17a86",ReferenceSystem.class, 0),
78 InstitutionType("29ad808b-3126-4274-be81-4561e7afc76f", DefinedTerm.class, 0),
79 Scope("109bf76d-6f55-43d5-9ec5-6115d9490faa", DefinedTerm.class, 0),
80 Stage("4d475bea-c3ae-4494-be16-6796f22fabac", DefinedTerm.class, 0),
81 State("ceb65a53-c6cf-42bb-862f-daca7f2fc11d", State.class, 1),
82 PresenceState("849d147c-2a43-4a30-a56e-b21c5d23a8a8", State.class, 1),
83 TextFormat("ac3926d2-5f6b-45a5-9cf9-be2a5a43f9b3", TextFormat.class, 1),
84 NaturalLanguageTerm("fdaba4b0-5c14-11df-a08a-0800200c9a66", NaturalLanguageTerm.class, 0),
85 Modifier("b9434774-4931-4f1e-99cb-40a3ecd61777", DefinedTerm.class, 0),
86 DnaMarkerEukaryote("d219a463-1cc9-4800-b82f-3146d0afe31e", DefinedTerm.class, 0),
87 DnaMarkerChloroplast("e572d370-a27b-40d3-974c-cb17562b59cf", DefinedTerm.class, 0),
88 PlantKindOfUnit("5167c47b-7726-4dba-b02f-dafb7629481b", DefinedTerm.class, 0),
89 SpecimenKindOfUnit("b0344ec4-12f7-40d3-82c1-0092e9780bbd", DefinedTerm.class, 0),
90 MediaSpecimenKindOfUnit("56f47c83-8d42-404a-88fc-03c57b560f6d", DefinedTerm.class, 0),
91 IdentifierType("67d91839-484e-4183-8b4c-6a4a80dfc066", IdentifierType.class, 0),
92 DnaQualityType("55746f7b-78a8-4e5f-8e70-ee9ce047c835", OrderedTerm.class, 0),
93 TaxonNodeAgentRelationType("0aa8e0c6-c7b5-42dd-91b7-0bd273a64b2c", DefinedTerm.class, 0),
94 OccurrenceStatusType("6d06b750-4f48-42de-85b5-220256e4e5ba", DefinedTerm.class, 0),
95 ;
96
97 private UUID uuid;
98 private Class<? extends DefinedTermBase<?>> clazz;
99 private boolean orderRelevant;
100
101 private VocabularyEnum(String uuidString, Class<? extends DefinedTermBase<?>> clazz, int ordered){
102 this.uuid = UUID.fromString(uuidString);
103 this.clazz = clazz;
104 orderRelevant = (ordered == 1);
105 }
106
107 /**
108 * @return the <code>UUID</code> this vocabulary is uniquely identified with
109 */
110 public UUID getUuid(){
111 return uuid;
112 }
113
114 /**
115 * @return the Class of a specific term vocabulary
116 */
117 public Class<? extends DefinedTermBase<?>> getClazz(){
118 return clazz;
119 }
120
121 public static VocabularyEnum getVocabularyEnumByUuid(UUID uuid){
122
123 for(VocabularyEnum vocabulary : VocabularyEnum.values()){
124 if(vocabulary.getUuid().equals(uuid)){
125 return vocabulary;
126 }
127 }
128
129 return null;
130 }
131
132 public boolean isOrderRelevant() {
133 return orderRelevant;
134 }
135
136 public static List<UUID> ontologyStructureVocabularyUuids(){
137 List<UUID> result = new ArrayList<>();
138 result.add(UUID.fromString("cb2e5f49-1cc8-4a6e-a476-db9a22de305d")); //entire plant
139 result.add(UUID.fromString("4c13949e-50f5-461b-83df-21fec53437e8")); //generic structures
140 result.add(UUID.fromString("01b4d3ab-afbe-44f8-8e1c-30a9b7950f62")); //generative structures
141 result.add(UUID.fromString("785c325d-b9f8-4972-a4b5-d5ab3bdaa456")); //veg. structures
142 result.add(UUID.fromString("e48c8fb6-acae-437e-acfa-8186c83216cc")); //substances
143 result.add(UUID.fromString("b9a3562c-0ecc-48a0-9e44-3ab55eff1633")); //structures in adj. form
144 result.add(UUID.fromString("004a0b82-feb1-4c96-8542-26f72c740555")); //temporal modifier
145 result.add(UUID.fromString("70774cb7-2634-4a77-8d80-fe1e76fdb57f")); //spatial modifier
146 result.add(UUID.fromString("ca9803d5-1ed7-47ec-99e1-9ff2054991c1")); //struc. modifier
147 result.add(UUID.fromString("f8f8e819-9ec5-41bd-99da-b0247163d5b1")); //cond. modifier
148 return result;
149 }
150
151 public static List<UUID> ontologyPropertyVocabularyUuids(){
152 List<UUID> result = new ArrayList<>();
153 result.add(UUID.fromString("7e75ab3f-ca7f-428c-bb0d-4c0fd2f6dad0")); //properties
154 return result;
155 }
156
157 public static List<UUID> ontologyStateVocabularyUuids(){
158 List<UUID> result = new ArrayList<>();
159 result.add(UUID.fromString("1bb9d2ed-0791-438a-a92c-03c746609263")); //architecture
160 result.add(UUID.fromString("795e9d8b-12a5-4997-b41c-60c63e2ea7c5")); //architecture ref. to taxa
161 result.add(UUID.fromString("c1af25bb-8eb1-4b63-8d0c-77f7b0a7430d")); //arrangement
162 result.add(UUID.fromString("4a395830-5a57-44bf-8c84-58550edf1545")); //behavior
163 result.add(UUID.fromString("ee3c4b99-a25e-42b9-8cf1-93a5364be477")); //branching
164 result.add(UUID.fromString("1e9b543a-bbc7-4b3a-af1f-e1d669dfc3c3")); //coaching
165 result.add(UUID.fromString("a62479aa-3327-45ce-8cfd-1ba4befbeac6")); //coloration
166 result.add(UUID.fromString("5bdfa0ad-ca81-4772-968a-b4cce5c1bcf7")); //condition
167 result.add(UUID.fromString("7df07c33-82db-4cb0-b5f3-1fca5139357b")); //course
168 result.add(UUID.fromString("0ba29576-ba6b-43f7-8ecd-0c7a1b5d3041")); //dehiscence
169 result.add(UUID.fromString("036b15df-b47d-4763-b64e-bcef5a83f187")); //density
170 result.add(UUID.fromString("7669f2fa-81bb-4e56-bcf2-a2c0b6432a99")); //depth
171 result.add(UUID.fromString("869ffc64-c317-44b6-b712-70bf6875d6dc")); //derivation
172 result.add(UUID.fromString("d08d2e34-2a5d-4dfa-b135-bd62129f1c44")); //development
173 result.add(UUID.fromString("fdd414d7-a8a4-425b-9bc9-e63f68a7525e")); //duration
174 result.add(UUID.fromString("e817377f-c2ac-413b-9afa-d0524ab334fd")); //ecological adaptations
175 result.add(UUID.fromString("5b5c056f-92dd-4f56-9c63-37374092f2e3")); //fixation
176 result.add(UUID.fromString("2e47d48a-0fb1-4279-901e-263784627a1f")); //fragility
177 result.add(UUID.fromString("03d23015-a4e8-4a18-a3a3-4c73cbb9737f")); //function
178 result.add(UUID.fromString("0ef84649-c3c5-4937-bb42-484ce0a199d5")); //fusion
179 result.add(UUID.fromString("31997373-8edf-44e2-b469-7e54a0a1192e")); //germination
180 result.add(UUID.fromString("5a1c2af5-8fda-405b-a12c-8f18b490ec21")); //growth form
181 result.add(UUID.fromString("904741dd-193b-405e-9ae6-e9ccf829d8e4")); //growth order
182 result.add(UUID.fromString("ca386b91-bb91-474f-9cd3-c6e0cc297413")); //habitat
183 result.add(UUID.fromString("945263ba-492e-4fed-80c0-13491ed1956f")); //height
184 result.add(UUID.fromString("3512e1c4-b5db-494f-b7eb-ff0536098849")); //length
185 result.add(UUID.fromString("6c5799a9-1868-4df8-9020-72f3cf197276")); //life cycle
186 result.add(UUID.fromString("c53e08ed-9ea3-4ea3-87c7-ce1384b19c26")); //location
187 result.add(UUID.fromString("97c4a87c-cc43-4e98-95b8-63f28e6e3333")); //maturatin
188 result.add(UUID.fromString("57bed7c3-017d-4d70-b338-04039777ec42")); //nutrition
189 result.add(UUID.fromString("ac928b99-3724-4c74-b7b8-2a13dcb07e0e")); //odor
190 result.add(UUID.fromString("64df01b7-c9c3-4018-92a1-f7f002820163")); //orientation
191 result.add(UUID.fromString("3c17afa1-a7c1-4c98-8eb6-756904ab55da")); //ploidy
192 result.add(UUID.fromString("5fdd551e-fa18-47dc-b73d-4cf4193dc777")); //position
193 result.add(UUID.fromString("919a570f-2ce2-4764-b7ff-44b74d1ec0a8")); //position relational
194 result.add(UUID.fromString("849d147c-2a43-4a30-a56e-b21c5d23a8a8")); //presence states
195 result.add(UUID.fromString("3d8b076b-9bc5-48d6-af02-a14e7b2f6772")); //prominence
196 result.add(UUID.fromString("4a44418a-38cb-4ce1-98ff-a93be647cc2f")); //pubescence
197 result.add(UUID.fromString("96626d35-89ba-46cd-808e-ceb0a1d26e6e")); //quantity
198 result.add(UUID.fromString("e2907dc8-4e92-41d4-af63-44161b6bb5f5")); //reflectance
199 result.add(UUID.fromString("542b1879-d8da-4f2c-9898-6de78dca5fd2")); //relief
200 result.add(UUID.fromString("2aa5945c-9199-46f6-9cdb-746535687232")); //reproduction
201 result.add(UUID.fromString("33922250-e8ae-49dc-a989-ec0415a02608")); //season
202 result.add(UUID.fromString("35ddf096-3b0f-4a94-a7ee-b8671ae1dbc1")); //shape
203 result.add(UUID.fromString("62f637d1-2deb-4d24-97cc-1b857dd6d599")); //size
204 result.add(UUID.fromString("d2d2405d-7564-4db6-95df-d31b7309adb4")); //taste
205 result.add(UUID.fromString("4d2702cb-14fa-4c30-ad0e-1b2852631308")); //texture
206 result.add(UUID.fromString("3962cb0f-1a0e-4de5-a6a9-74539546834b")); //toxicity
207 result.add(UUID.fromString("52fad05d-ff3e-4536-9212-f5f22f815906")); //variability
208 result.add(UUID.fromString("a8446e51-0af0-461a-a88b-f9efb322d692")); //vernation
209 result.add(UUID.fromString("7154207c-64c5-4c55-8b9a-81f0a8fc2a79")); //width
210 return result;
211 }
212
213 public static List<UUID> ontologyModifierVocabularyUuids(){
214 List<UUID> result = new ArrayList<>();
215 result.add(UUID.fromString("7acb6493-0284-4a0b-a159-1ee42f162fb2")); //certainty
216 result.add(UUID.fromString("714e407b-c9fc-4ba4-9bd2-de80f5991651")); //coverage
217 result.add(UUID.fromString("40554224-5b16-42bf-aade-84ea355ee7d5")); //degree
218 result.add(UUID.fromString("2b2c5f2b-1ca8-4a67-9915-7f56aac8d18f")); //frequency
219 return result;
220 }
221
222 public static List<UUID> ontologyTreeUuids(){
223 List<UUID> result = new ArrayList<>();
224 result.add(UUID.fromString("17941710-059e-4e0b-a617-6439d66a39a6")); //structures
225 result.add(UUID.fromString("a4598d3f-0acf-4ad1-a6c9-0c31485da535")); //properties
226 // result.add(UUID.fromString("fa9e8602-65b8-4f29-89f3-79132df994ca")); //states
227 //states
228 result.add(UUID.fromString("80967670-779f-4fda-9fae-9236a614c714")); //architecture
229 result.add(UUID.fromString("db08667f-d9b3-440e-9568-2664b1037596")); //arrangement
230 result.add(UUID.fromString("b7edbc11-10b8-435a-83ae-797341a9014d")); //branching
231 result.add(UUID.fromString("a756f68c-99ad-452c-8546-e679f21a4e8b")); //coating
232 result.add(UUID.fromString("9f05ce9a-99be-4182-a8a0-2d9cb98cbde4")); //coloration
233 result.add(UUID.fromString("a352c884-235d-4960-8ac8-0f24d2d1b8a0")); //condition
234 result.add(UUID.fromString("a232f8d5-084b-40b1-8ad1-878223b72a4c")); //course
235 result.add(UUID.fromString("f3f1bb08-c51e-4801-b46e-fcfd1c33700d")); //dehiscence
236 result.add(UUID.fromString("6dd0f464-cc18-4e12-9163-7719b49c9668")); //density
237 result.add(UUID.fromString("1cded4b8-094e-4338-a365-25e1efd6a38f")); //depth
238 result.add(UUID.fromString("d2304ae7-11f4-4dee-a4c4-eb385843cf91")); //derivation
239 result.add(UUID.fromString("c37b839e-ea99-49ee-a502-4f6691933426")); //development
240 result.add(UUID.fromString("2f213ce1-7d83-4cf9-8e45-cd151025a726")); //duration
241 result.add(UUID.fromString("5f38986d-fcbd-4119-983a-e434c060ff28")); //fixation
242 result.add(UUID.fromString("858cbad3-705f-48ed-9558-f33e203c1728")); //fragility
243 result.add(UUID.fromString("5a6834cf-bff9-4cfb-8b9f-12731a49ab4e")); //fusion
244 result.add(UUID.fromString("0ae0038d-aa69-45fb-8e65-0458b92a8cf4")); //growth form
245 result.add(UUID.fromString("395a13fb-359e-4ee9-84d8-4cabd162de53")); //habitat
246 result.add(UUID.fromString("d4992bf3-f4b8-461f-8896-97ded8307a5e")); //length
247 result.add(UUID.fromString("5cf0a654-c5d6-4c63-9e74-85e22ac59791")); //orientation
248 result.add(UUID.fromString("65a9800f-8387-4aa0-b443-c8f1e865cb36")); //position
249 result.add(UUID.fromString("78c4ad9c-54c5-4f6e-92fb-61649ef96192")); //position relational
250 result.add(UUID.fromString("5f11e606-9892-4c98-ad06-f8e3ea3d6e45")); //presence
251 result.add(UUID.fromString("5be251cd-1a75-494f-83d6-a2d7d5c25b76")); //prominence
252 result.add(UUID.fromString("06ca8cf3-3245-4ece-a501-7378c867fb74")); //pubescence
253 result.add(UUID.fromString("b02f5ff5-ec97-46ea-b7c0-233e60ff42db")); //quantity
254 result.add(UUID.fromString("3d867957-4a0c-4642-90c9-63fa9045944f")); //reflectance
255 result.add(UUID.fromString("7b052355-5c40-44a4-be28-9e9be64cf643")); //relief
256 result.add(UUID.fromString("d8d54f47-2ef6-41fe-9f45-2ff361ff5509")); //reproduction
257 result.add(UUID.fromString("5530a471-5d30-4b5e-ae34-4fffbf7512c5")); //shape
258 result.add(UUID.fromString("84fa5fcc-780f-4f48-9a08-1573cf6f4ce2")); //texture
259 result.add(UUID.fromString("310ea67f-3898-4c82-9fda-a431fa934c08")); //transparency
260 result.add(UUID.fromString("e7e22727-f2e8-4cda-8d20-fcbd06262d05")); //variability
261 result.add(UUID.fromString("0a4200d9-7c48-42ff-9c2f-e6f4a5a79ca8")); //width
262
263 return result;
264 }
265 }