Project

General

Profile

Download (5.57 KB) Statistics
| Branch: | Tag: | Revision:
1
package eu.etaxonomy.cdm.model.description;
2

    
3
import java.util.Map;
4
import java.util.UUID;
5

    
6
import javax.persistence.Entity;
7
import javax.xml.bind.annotation.XmlAccessType;
8
import javax.xml.bind.annotation.XmlAccessorType;
9
import javax.xml.bind.annotation.XmlElement;
10
import javax.xml.bind.annotation.XmlIDREF;
11
import javax.xml.bind.annotation.XmlRootElement;
12
import javax.xml.bind.annotation.XmlSchemaType;
13
import javax.xml.bind.annotation.XmlType;
14

    
15
import org.apache.logging.log4j.LogManager;import org.apache.logging.log4j.Logger;
16
import org.hibernate.envers.Audited;
17

    
18
import eu.etaxonomy.cdm.model.common.Language;
19
import eu.etaxonomy.cdm.model.term.DefinedTermBase;
20
import eu.etaxonomy.cdm.model.term.Representation;
21
import eu.etaxonomy.cdm.model.term.TermType;
22
import eu.etaxonomy.cdm.model.term.TermVocabulary;
23

    
24
@XmlAccessorType(XmlAccessType.PROPERTY)
25
@XmlType(name="NaturalLanguageTerm")
26
@XmlRootElement(name = "NaturalLanguageTerm")
27
@Entity
28
//@Indexed disabled to reduce clutter in indexes, since this type is not used by any search
29
//@Indexed(index = "eu.etaxonomy.cdm.model.term.DefinedTermBase")
30
@Audited
31
public class NaturalLanguageTerm extends DefinedTermBase<NaturalLanguageTerm> {
32
	private static final long serialVersionUID = 6754598791831848705L;
33
	@SuppressWarnings("unused")
34
	private static final Logger logger = LogManager.getLogger(NaturalLanguageTerm.class);
35

    
36
	protected static Map<UUID, NaturalLanguageTerm> termMap = null;
37

    
38

    
39
	private static NaturalLanguageTerm FROM = new NaturalLanguageTerm();
40
	private static NaturalLanguageTerm TO = new NaturalLanguageTerm();
41
	private static NaturalLanguageTerm UP_TO = new NaturalLanguageTerm();
42
	private static NaturalLanguageTerm MOST_FREQUENTLY = new NaturalLanguageTerm();
43
	private static NaturalLanguageTerm ON_AVERAGE = new NaturalLanguageTerm();
44
	private static NaturalLanguageTerm MORE_OR_LESS = new NaturalLanguageTerm();
45

    
46
	private static final UUID uuidTo = UUID.fromString("9087cdcd-8b08-4082-a1de-34c9ba9fb494");
47

    
48

    
49
	public static  NaturalLanguageTerm NewInstance(String term, String label, String labelAbbrev) {
50
		return new NaturalLanguageTerm(term, label, labelAbbrev);
51
	}
52

    
53

    
54
//********************************** Constructor *******************************************************************/
55

    
56
	//for hibernate use only
57
	@Deprecated
58
	protected NaturalLanguageTerm() {
59
		super(TermType.NaturalLanguageTerm);
60
	}
61

    
62
	private NaturalLanguageTerm(String term, String label, String labelAbbrev) {
63
		super(TermType.NaturalLanguageTerm, term, label, labelAbbrev);
64
	}
65

    
66
//********************************** Methods *******************************************************************/
67

    
68

    
69
	@Override
70
	protected void setDefaultTerms(
71
			TermVocabulary<NaturalLanguageTerm> termVocabulary) {
72
		//NaturalLanguageTerm.TO = termVocabulary.findTermByUuid(NaturalLanguageTerm.uuidTo);
73
		//NaturalLanguageTerm.TO.setLabel("eip");
74

    
75
	}
76

    
77
	@Override
78
	public void resetTerms(){
79
		termMap = null;
80
	}
81

    
82

    
83
	@XmlElement(name = "KindOf", namespace = "http://etaxonomy.eu/cdm/model/common/1.0")
84
    @XmlIDREF
85
    @XmlSchemaType(name = "IDREF")
86
    @Override
87
	public NaturalLanguageTerm getKindOf(){
88
		return super.getKindOf();
89
	}
90

    
91
	@Override
92
    public void setKindOf(NaturalLanguageTerm kindOf){
93
		super.setKindOf(kindOf);
94
	}
95

    
96
	/**
97
	 * Returns the "from" term.
98
	 */
99
	public static final NaturalLanguageTerm FROM(){
100
		NaturalLanguageTerm nlt = FROM;
101
		Representation representation = Representation.NewInstance("", "from", "", Language.ENGLISH());
102
		Representation representation2 = Representation.NewInstance("", "de", "", Language.FRENCH());
103
		Representation representation3 = Representation.NewInstance("", "von", "", Language.GERMAN());
104
		nlt.addRepresentation(representation);
105
		nlt.addRepresentation(representation2);
106
		nlt.addRepresentation(representation3);
107
		return nlt;
108
	}
109

    
110
	/**
111
	 * Returns the "to" term.
112
	 */
113
	public static final NaturalLanguageTerm TO(){
114
		NaturalLanguageTerm nlt = TO;
115
		Representation representation = Representation.NewInstance("", "to", "", Language.ENGLISH());
116
		Representation representation2 = Representation.NewInstance("", "à", "", Language.FRENCH());
117
		nlt.addRepresentation(representation);
118
		nlt.addRepresentation(representation2);
119
		return nlt;
120
	}
121

    
122
	public static final NaturalLanguageTerm UP_TO(){
123
		NaturalLanguageTerm nlt = UP_TO;
124
		Representation representation = Representation.NewInstance("", "up to", "", Language.ENGLISH());
125
		Representation representation2 = Representation.NewInstance("", "jusqu'à", "", Language.FRENCH());
126
		nlt.addRepresentation(representation);
127
		nlt.addRepresentation(representation2);
128
		return nlt;
129
	}
130

    
131
	public static final NaturalLanguageTerm MOST_FREQUENTLY(){
132
		NaturalLanguageTerm nlt = MOST_FREQUENTLY;
133
		Representation representation = Representation.NewInstance("", "most frequently", "", Language.ENGLISH());
134
		Representation representation2 = Representation.NewInstance("", "plus fréquemment", "", Language.FRENCH());
135
		nlt.addRepresentation(representation);
136
		nlt.addRepresentation(representation2);
137
		return nlt;
138
	}
139

    
140
	public static final NaturalLanguageTerm ON_AVERAGE(){
141
		NaturalLanguageTerm nlt = ON_AVERAGE;
142
		Representation representation = Representation.NewInstance("", "on average", "", Language.ENGLISH());
143
		Representation representation2 = Representation.NewInstance("", "en moyenne", "", Language.FRENCH());
144
		nlt.addRepresentation(representation);
145
		nlt.addRepresentation(representation2);
146
		return nlt;
147
	}
148

    
149
	public static final NaturalLanguageTerm MORE_OR_LESS(){
150
		NaturalLanguageTerm nlt = MORE_OR_LESS;
151
		Representation representation = Representation.NewInstance("", "+/-", "", Language.ENGLISH());
152
		nlt.addRepresentation(representation);
153
		return nlt;
154
	}
155
}
(21-21/38)