removed abstract method getGatheringEvent which was not implemented in DerivedUnitBase
[cdmlib.git] / cdmlib-model / src / main / java / eu / etaxonomy / cdm / model / occurrence / DeterminationModifier.java
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
10 package eu.etaxonomy.cdm.model.occurrence;
11
12 import java.util.HashMap;
13 import java.util.Map;
14 import java.util.UUID;
15
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;
21
22 import org.apache.log4j.Logger;
23 import org.hibernate.envers.Audited;
24 import org.hibernate.search.annotations.Indexed;
25
26 import eu.etaxonomy.cdm.model.common.TermVocabulary;
27 import eu.etaxonomy.cdm.model.description.Modifier;
28 import eu.etaxonomy.cdm.model.location.NamedArea;
29 import eu.etaxonomy.cdm.model.location.TdwgArea;
30
31 /**
32 * modifier for a determination.
33 * can be cf. det. rev. conf. for example
34 * @author m.doering
35 *
36 */
37 @XmlAccessorType(XmlAccessType.FIELD)
38 @XmlType(name = "DeterminationModifier")
39 @XmlRootElement(name = "DeterminationModifier")
40 @Entity
41 @Indexed(index = "eu.etaxonomy.cdm.model.common.DefinedTermBase")
42 @Audited
43 public class DeterminationModifier extends Modifier {
44 private static final Logger logger = Logger.getLogger(DeterminationModifier.class);
45
46 private static final UUID uuidUnknown = UUID.fromString("00000000-0000-0000-0000-000000000000");
47
48 protected static Map<UUID, DeterminationModifier> termMap = null;
49
50 /**
51 * Factory method
52 * @return
53 */
54 public static DeterminationModifier NewInstance() {
55 return new DeterminationModifier();
56 }
57
58 /**
59 * Factory method
60 * @return
61 */
62 public static DeterminationModifier NewInstance(String term, String label, String labelAbbrev) {
63 return new DeterminationModifier(term, label, labelAbbrev);
64 }
65
66
67 /**
68 * Constructor
69 */
70 public DeterminationModifier() {
71 }
72
73
74 /**
75 * Constructor
76 */
77 protected DeterminationModifier(String term, String label, String labelAbbrev) {
78 super(term, label, labelAbbrev);
79 }
80
81 @Override
82 protected void setDefaultTerms(TermVocabulary<Modifier> termVocabulary) {
83 termMap = new HashMap<UUID, DeterminationModifier>();
84 for (Modifier term : termVocabulary.getTerms()){
85 termMap.put(term.getUuid(), (DeterminationModifier)term); //TODO casting
86 }
87 }
88 }