root/trunk/cdmlib/cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/occurrence/DeterminationModifier.java

Revision 10919, 3.0 kB (checked in by a.mueller, 18 months ago)

merge 3.0.2 to trunk

  • Property svn:keywords set to Id
Line 
1/**
2* Copyright (C) 2009 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
10package eu.etaxonomy.cdm.model.occurrence;
11
12import java.util.HashMap;
13import java.util.Map;
14import java.util.UUID;
15
16import javax.persistence.Entity;
17import javax.xml.bind.annotation.XmlAccessType;
18import javax.xml.bind.annotation.XmlAccessorType;
19import javax.xml.bind.annotation.XmlRootElement;
20import javax.xml.bind.annotation.XmlType;
21
22import org.apache.log4j.Logger;
23import org.hibernate.envers.Audited;
24import org.hibernate.search.annotations.Indexed;
25
26import eu.etaxonomy.cdm.model.common.TermVocabulary;
27import eu.etaxonomy.cdm.model.description.AbsenceTerm;
28import eu.etaxonomy.cdm.model.description.Modifier;
29
30/**
31 * modifier for a determination.
32 * can be cf. det. rev. conf. for example
33 * @author m.doering
34 *
35 */
36@XmlAccessorType(XmlAccessType.FIELD)
37@XmlType(name = "DeterminationModifier")
38@XmlRootElement(name = "DeterminationModifier")
39@Entity
40@Indexed(index = "eu.etaxonomy.cdm.model.common.DefinedTermBase")
41@Audited
42public class DeterminationModifier extends Modifier {
43        @SuppressWarnings("unused")
44        private static final Logger logger = Logger.getLogger(DeterminationModifier.class);
45
46        public static final UUID uuidConfer = UUID.fromString("20db670a-2db2-49cc-bbdd-eace33694b7f");
47        public static final UUID uuidAffinis = UUID.fromString("128f0b54-73e2-4efb-bfda-a6243185a562");
48
49        protected static Map<UUID, DeterminationModifier> termMap = null;               
50       
51        /**
52         * Factory method
53         * @return
54         */
55        public static DeterminationModifier NewInstance() {
56                return new DeterminationModifier();
57        }
58
59        /**
60         * Factory method
61         * @return
62         */
63        public static DeterminationModifier NewInstance(String term, String label, String labelAbbrev) {
64                return new DeterminationModifier(term, label, labelAbbrev);
65        }
66       
67       
68        /**
69         * Constructor
70         */
71        public DeterminationModifier() {
72        }
73
74       
75        /**
76         * Constructor
77         */
78        protected DeterminationModifier(String term, String label, String labelAbbrev) {
79                super(term, label, labelAbbrev);
80        }
81       
82
83       
84//************************** METHODS ********************************
85       
86        protected static DeterminationModifier getTermByUuid(UUID uuid){
87                if (termMap == null){
88                        return null;
89                }else{
90                        return (DeterminationModifier)termMap.get(uuid);
91                }
92        }
93
94       
95        public static final DeterminationModifier AFFINIS(){
96                return getTermByUuid(uuidAffinis);
97        }
98
99        public static final DeterminationModifier CONFER(){
100                return getTermByUuid(uuidConfer);
101        }
102
103       
104       
105        /* (non-Javadoc)
106         * @see eu.etaxonomy.cdm.model.common.DefinedTermBase#resetTerms()
107         */
108        @Override
109        public void resetTerms(){
110                termMap = null;
111        }
112
113       
114        @Override
115        protected void setDefaultTerms(TermVocabulary<Modifier> termVocabulary) {
116                termMap = new HashMap<UUID, DeterminationModifier>();
117                for (Modifier term : termVocabulary.getTerms()){
118                        termMap.put(term.getUuid(), (DeterminationModifier)term);  //TODO casting
119                }
120        }
121}
Note: See TracBrowser for help on using the browser.