2 * Copyright (C) 2007 EDIT
3 * European Distributed Institute of Taxonomy
4 * http://www.e-taxonomy.eu
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.
10 package eu
.etaxonomy
.cdm
.model
.location
;
12 import java
.util
.HashMap
;
14 import java
.util
.UUID
;
16 import javax
.persistence
.Entity
;
17 import javax
.xml
.bind
.annotation
.XmlAccessType
;
18 import javax
.xml
.bind
.annotation
.XmlAccessorType
;
19 import javax
.xml
.bind
.annotation
.XmlRootElement
;
20 import javax
.xml
.bind
.annotation
.XmlType
;
22 import org
.apache
.log4j
.Logger
;
23 import org
.hibernate
.envers
.Audited
;
24 import org
.hibernate
.search
.annotations
.Indexed
;
26 import eu
.etaxonomy
.cdm
.model
.common
.OrderedTermBase
;
27 import eu
.etaxonomy
.cdm
.model
.common
.TermType
;
28 import eu
.etaxonomy
.cdm
.model
.common
.TermVocabulary
;
31 * Controlled vocabulary to differentiate levels of areas such as province, state,
34 * @created 08-Nov-2007 13:06:36
36 @XmlAccessorType(XmlAccessType
.FIELD
)
37 @XmlType(name
= "NamedAreaLevel")
38 @XmlRootElement(name
= "NamedAreaLevel")
40 @Indexed(index
= "eu.etaxonomy.cdm.model.common.DefinedTermBase")
42 public class NamedAreaLevel
extends OrderedTermBase
<NamedAreaLevel
> {
43 private static final long serialVersionUID
= -7977901140330659208L;
44 @SuppressWarnings("unused")
45 private static final Logger logger
= Logger
.getLogger(NamedAreaLevel
.class);
47 protected static Map
<UUID
, NamedAreaLevel
> termMap
= null;
49 private static final UUID uuidTdwgLevel1
= UUID
.fromString("cd7771b2-7427-4a01-9057-7d7a897dddaf");
50 private static final UUID uuidTdwgLevel2
= UUID
.fromString("38efa5fd-d7f0-451c-9de9-e6cce41e2225");
51 private static final UUID uuidTdwgLevel3
= UUID
.fromString("25b563b6-6a6c-401b-b090-c9498886c50b");
52 private static final UUID uuidTdwgLevel4
= UUID
.fromString("160ff2c8-9bfc-49c2-9afd-049c21a91695");
53 private static final UUID uuidNatureReserve
= UUID
.fromString("340b9050-a65d-4dd4-9523-bc10f977bc68");
54 private static final UUID uuidState
= UUID
.fromString("08aa6127-8ebc-4120-8411-a468a7257e02");
55 private static final UUID uuidProvince
= UUID
.fromString("401d48b4-9f09-4354-be0f-c2138444f72d");
56 private static final UUID uuidTown
= UUID
.fromString("f127b4d2-f6bc-4019-9c87-ee3f4de1f094");
57 private static final UUID uuidCountry
= UUID
.fromString("79db63a4-1563-461e-8e41-48f5722feca4");
59 //************************** FACTORY METHODS ********************************
65 public static NamedAreaLevel
NewInstance(){
66 return new NamedAreaLevel();
73 public static NamedAreaLevel
NewInstance(String term
, String label
, String labelAbbrev
){
74 return new NamedAreaLevel(term
, label
, labelAbbrev
);
77 //************************** CONSTRUCTOR ********************************
79 //for hibernate use only
81 protected NamedAreaLevel() {
82 super(TermType
.NamedAreaLevel
);
85 private NamedAreaLevel(String term
, String label
, String labelAbbrev
) {
86 super(TermType
.NamedAreaLevel
, term
, label
, labelAbbrev
);
91 //************************** METHODS ********************************
93 protected static NamedAreaLevel
getTermByUuid(UUID uuid
){
95 return null; //better return null then initialize the termMap in an unwanted way
97 return (NamedAreaLevel
)termMap
.get(uuid
);
103 public static final NamedAreaLevel
TDWG_LEVEL1(){
104 return getTermByUuid(uuidTdwgLevel1
);
110 public static final NamedAreaLevel
TDWG_LEVEL2(){
111 return getTermByUuid(uuidTdwgLevel2
);
117 public static final NamedAreaLevel
TDWG_LEVEL3(){
118 return getTermByUuid(uuidTdwgLevel3
);
121 public static final NamedAreaLevel
TDWG_LEVEL4(){
122 return getTermByUuid(uuidTdwgLevel4
);
125 public static final NamedAreaLevel
NATURE_RESERVE(){
126 return getTermByUuid(uuidNatureReserve
);
129 public static final NamedAreaLevel
STATE(){
130 return getTermByUuid(uuidState
);
133 public static final NamedAreaLevel
PROVINCE(){
134 return getTermByUuid(uuidProvince
);
137 public static final NamedAreaLevel
TOWN(){
138 return getTermByUuid(uuidTown
);
141 public static final NamedAreaLevel
COUNTRY(){
142 return getTermByUuid(uuidCountry
);
145 public static final boolean isTDWG_LEVEL1(String str
){
146 boolean result
= false;
147 if (uuidTdwgLevel1
.compareTo(UUID
.fromString(str
)) == 0){
153 public static final boolean isTDWG_LEVEL2(String str
){
154 boolean result
= false;
155 if (uuidTdwgLevel2
.compareTo(UUID
.fromString(str
)) == 0){
161 public static final boolean isTDWG_LEVEL3(String str
){
162 boolean result
= false;
163 if (uuidTdwgLevel3
.compareTo(UUID
.fromString(str
)) == 0){
169 public static final boolean isTDWG_LEVEL4(String str
){
170 boolean result
= false;
171 if (uuidTdwgLevel4
.compareTo(UUID
.fromString(str
)) == 0){
179 * @see eu.etaxonomy.cdm.model.common.DefinedTermBase#resetTerms()
182 public void resetTerms(){
189 protected void setDefaultTerms(TermVocabulary
<NamedAreaLevel
> termVocabulary
) {
190 termMap
= new HashMap
<UUID
, NamedAreaLevel
>();
191 for (NamedAreaLevel term
: termVocabulary
.getTerms()){
192 termMap
.put(term
.getUuid(), (NamedAreaLevel
)term
);