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,
35 * @created 08-Nov-2007 13:06:36
37 @XmlAccessorType(XmlAccessType
.FIELD
)
38 @XmlType(name
= "NamedAreaLevel")
39 @XmlRootElement(name
= "NamedAreaLevel")
41 @Indexed(index
= "eu.etaxonomy.cdm.model.common.DefinedTermBase")
43 public class NamedAreaLevel
extends OrderedTermBase
<NamedAreaLevel
> {
44 private static final long serialVersionUID
= -7977901140330659208L;
45 @SuppressWarnings("unused")
46 private static final Logger logger
= Logger
.getLogger(NamedAreaLevel
.class);
48 protected static Map
<UUID
, NamedAreaLevel
> termMap
= null;
50 private static final UUID uuidTdwgLevel1
= UUID
.fromString("cd7771b2-7427-4a01-9057-7d7a897dddaf");
51 private static final UUID uuidTdwgLevel2
= UUID
.fromString("38efa5fd-d7f0-451c-9de9-e6cce41e2225");
52 private static final UUID uuidTdwgLevel3
= UUID
.fromString("25b563b6-6a6c-401b-b090-c9498886c50b");
53 private static final UUID uuidTdwgLevel4
= UUID
.fromString("160ff2c8-9bfc-49c2-9afd-049c21a91695");
54 private static final UUID uuidNatureReserve
= UUID
.fromString("340b9050-a65d-4dd4-9523-bc10f977bc68");
55 private static final UUID uuidState
= UUID
.fromString("08aa6127-8ebc-4120-8411-a468a7257e02");
56 private static final UUID uuidProvince
= UUID
.fromString("401d48b4-9f09-4354-be0f-c2138444f72d");
57 private static final UUID uuidTown
= UUID
.fromString("f127b4d2-f6bc-4019-9c87-ee3f4de1f094");
58 private static final UUID uuidCountry
= UUID
.fromString("79db63a4-1563-461e-8e41-48f5722feca4");
64 public static NamedAreaLevel
NewInstance(){
65 return new NamedAreaLevel();
72 public static NamedAreaLevel
NewInstance(String term
, String label
, String labelAbbrev
){
73 return new NamedAreaLevel(term
, label
, labelAbbrev
);
79 public NamedAreaLevel() {
82 protected NamedAreaLevel(String term
, String label
, String labelAbbrev
) {
83 super(TermType
.NamedAreaLevel
, term
, label
, labelAbbrev
);
88 //************************** METHODS ********************************
90 protected static NamedAreaLevel
getTermByUuid(UUID uuid
){
92 return null; //better return null then initialize the termMap in an unwanted way
94 return (NamedAreaLevel
)termMap
.get(uuid
);
100 public static final NamedAreaLevel
TDWG_LEVEL1(){
101 return getTermByUuid(uuidTdwgLevel1
);
107 public static final NamedAreaLevel
TDWG_LEVEL2(){
108 return getTermByUuid(uuidTdwgLevel2
);
114 public static final NamedAreaLevel
TDWG_LEVEL3(){
115 return getTermByUuid(uuidTdwgLevel3
);
118 public static final NamedAreaLevel
TDWG_LEVEL4(){
119 return getTermByUuid(uuidTdwgLevel4
);
122 public static final NamedAreaLevel
NATURE_RESERVE(){
123 return getTermByUuid(uuidNatureReserve
);
126 public static final NamedAreaLevel
STATE(){
127 return getTermByUuid(uuidState
);
130 public static final NamedAreaLevel
PROVINCE(){
131 return getTermByUuid(uuidProvince
);
134 public static final NamedAreaLevel
TOWN(){
135 return getTermByUuid(uuidTown
);
138 public static final NamedAreaLevel
COUNTRY(){
139 return getTermByUuid(uuidCountry
);
142 public static final boolean isTDWG_LEVEL1(String str
){
143 boolean result
= false;
144 if (uuidTdwgLevel1
.compareTo(UUID
.fromString(str
)) == 0){
150 public static final boolean isTDWG_LEVEL2(String str
){
151 boolean result
= false;
152 if (uuidTdwgLevel2
.compareTo(UUID
.fromString(str
)) == 0){
158 public static final boolean isTDWG_LEVEL3(String str
){
159 boolean result
= false;
160 if (uuidTdwgLevel3
.compareTo(UUID
.fromString(str
)) == 0){
166 public static final boolean isTDWG_LEVEL4(String str
){
167 boolean result
= false;
168 if (uuidTdwgLevel4
.compareTo(UUID
.fromString(str
)) == 0){
176 * @see eu.etaxonomy.cdm.model.common.DefinedTermBase#resetTerms()
179 public void resetTerms(){
186 protected void setDefaultTerms(TermVocabulary
<NamedAreaLevel
> termVocabulary
) {
187 termMap
= new HashMap
<UUID
, NamedAreaLevel
>();
188 for (NamedAreaLevel term
: termVocabulary
.getTerms()){
189 termMap
.put(term
.getUuid(), (NamedAreaLevel
)term
);