1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 package fr.ifremer.quadrige3.core.dao.system.rule;
29
30 import fr.ifremer.quadrige3.core.dao.technical.QuadrigeEnumerationDef;
31 import java.io.Serializable;
32 import java.util.ArrayList;
33 import java.util.Collections;
34 import java.util.LinkedHashMap;
35 import java.util.List;
36 import java.util.Map;
37 import static org.nuiton.i18n.I18n.n;
38
39
40
41
42 public enum RuleControlEntity
43 implements Serializable, QuadrigeEnumerationDef<String>
44 {
45 SURVEY (
46 "quadrige3.enumeration.RuleControlEntity.SURVEY",
47 n("quadrige3.enumeration.RuleControlEntity.SURVEY.description"),
48 "Passage"),
49 SAMPLING_OPERATION (
50 "quadrige3.enumeration.RuleControlEntity.SAMPLING_OPERATION",
51 n("quadrige3.enumeration.RuleControlEntity.SAMPLING_OPERATION.description"),
52 "Prélèvement"),
53 MEASUREMENT (
54 "quadrige3.enumeration.RuleControlEntity.MEASUREMENT",
55 n("quadrige3.enumeration.RuleControlEntity.MEASUREMENT.description"),
56 "Résultat_de_mesure"),
57 TAXON_MEASUREMENT (
58 "quadrige3.enumeration.RuleControlEntity.TAXON_MEASUREMENT",
59 n("quadrige3.enumeration.RuleControlEntity.TAXON_MEASUREMENT.description"),
60 "Résultat_de_mesure_sur_taxon");
61
62
63
64
65 private static final long serialVersionUID = 7224750361030075100L;
66
67 private String key;
68 private String description;
69 private String enumValue;
70
71
72
73
74
75 private RuleControlEntity(String key, String description, String value)
76 {
77 this.key = key;
78 this.description = description;
79 this.enumValue = value;
80 }
81
82 @Override
83
84
85
86 public void setValue(String newValue) {
87 if (newValue != null && !this.enumValue.equals(newValue)) {
88
89 values.remove(this.enumValue);
90 literals.remove(this.enumValue);
91 this.enumValue = newValue;
92 values.put(this.enumValue, this);
93 literals.add(this.enumValue);
94 }
95 }
96
97
98 @Override
99 public String getValueAsString()
100 {
101 return String.valueOf(this.enumValue);
102 }
103
104
105
106
107
108
109
110 public static RuleControlEntity fromString(String name)
111 {
112 return RuleControlEntity.valueOf(name);
113 }
114
115
116
117
118
119
120
121 public String value()
122 {
123 return this.enumValue;
124 }
125
126
127
128
129
130
131
132
133 public static RuleControlEntity fromValue(String value)
134 {
135 for (RuleControlEntity enumName: RuleControlEntity.values())
136 {
137 if (enumName.getValue().equals(value))
138 {
139 return enumName;
140 }
141 }
142 throw new IllegalArgumentException("RuleControlEntity.fromValue(" + value + ')');
143 }
144
145
146
147
148
149
150 public String getValue()
151 {
152 return this.enumValue;
153 }
154
155 @Override
156 public String getDescription() {
157 return description;
158 }
159
160 @Override
161 public String getKey() {
162 return key;
163 }
164
165 @Override
166 public Class<?> getType() {
167 return String.class;
168 }
169
170
171
172
173
174
175
176 public static List<String> literals()
177 {
178 return RuleControlEntity.literals;
179 }
180
181
182
183
184
185
186
187
188 public static List<String> names()
189 {
190 return RuleControlEntity.names;
191 }
192
193 private static Map<String, RuleControlEntity> values = new LinkedHashMap<String, RuleControlEntity>(4, 1);
194 private static List<String> literals = new ArrayList<String>(4);
195 private static List<String> names = new ArrayList<String>(4);
196 private static List<RuleControlEntity> valueList = new ArrayList<RuleControlEntity>(4);
197
198
199
200
201 static
202 {
203 synchronized (RuleControlEntity.values)
204 {
205 RuleControlEntity.values.put(SURVEY.enumValue, SURVEY);
206 RuleControlEntity.values.put(SAMPLING_OPERATION.enumValue, SAMPLING_OPERATION);
207 RuleControlEntity.values.put(MEASUREMENT.enumValue, MEASUREMENT);
208 RuleControlEntity.values.put(TAXON_MEASUREMENT.enumValue, TAXON_MEASUREMENT);
209 }
210 synchronized (RuleControlEntity.valueList)
211 {
212 RuleControlEntity.valueList.add(SURVEY);
213 RuleControlEntity.valueList.add(SAMPLING_OPERATION);
214 RuleControlEntity.valueList.add(MEASUREMENT);
215 RuleControlEntity.valueList.add(TAXON_MEASUREMENT);
216
217
218 }
219 synchronized (RuleControlEntity.literals)
220 {
221 RuleControlEntity.literals.add(SURVEY.enumValue);
222 RuleControlEntity.literals.add(SAMPLING_OPERATION.enumValue);
223 RuleControlEntity.literals.add(MEASUREMENT.enumValue);
224 RuleControlEntity.literals.add(TAXON_MEASUREMENT.enumValue);
225
226
227 }
228 synchronized (RuleControlEntity.names)
229 {
230 RuleControlEntity.names.add("SURVEY");
231 RuleControlEntity.names.add("SAMPLING_OPERATION");
232 RuleControlEntity.names.add("MEASUREMENT");
233 RuleControlEntity.names.add("TAXON_MEASUREMENT");
234 RuleControlEntity.names = Collections.unmodifiableList(names);
235 }
236 }
237
238 }