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.quadrige2.core.dao.system.rule;
29
30 import fr.ifremer.quadrige2.core.dao.technical.Quadrige2EnumerationDef;
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, Quadrige2EnumerationDef<String>
44 {
45 SURVEY_REEF_DB (
46 "quadrige2.enumeration.RuleControlEntity.SURVEY_REEF_DB",
47 n("quadrige2.enumeration.RuleControlEntity.SURVEY_REEF_DB.description"),
48 "Observation"),
49 SAMPLING_OPERATION_REEF_DB (
50 "quadrige2.enumeration.RuleControlEntity.SAMPLING_OPERATION_REEF_DB",
51 n("quadrige2.enumeration.RuleControlEntity.SAMPLING_OPERATION_REEF_DB.description"),
52 "Replicat"),
53 MEASUREMENT_REEF_DB (
54 "quadrige2.enumeration.RuleControlEntity.MEASUREMENT_REEF_DB",
55 n("quadrige2.enumeration.RuleControlEntity.MEASUREMENT_REEF_DB.description"),
56 "Mesures"),
57 SURVEY (
58 "quadrige2.enumeration.RuleControlEntity.SURVEY",
59 n("quadrige2.enumeration.RuleControlEntity.SURVEY.description"),
60 "Passage"),
61 SAMPLING_OPERATION (
62 "quadrige2.enumeration.RuleControlEntity.SAMPLING_OPERATION",
63 n("quadrige2.enumeration.RuleControlEntity.SAMPLING_OPERATION.description"),
64 "Prélèvement"),
65 MEASUREMENT (
66 "quadrige2.enumeration.RuleControlEntity.MEASUREMENT",
67 n("quadrige2.enumeration.RuleControlEntity.MEASUREMENT.description"),
68 "Résultat_de_mesure"),
69 TAXON_MEASUREMENT (
70 "quadrige2.enumeration.RuleControlEntity.TAXON_MEASUREMENT",
71 n("quadrige2.enumeration.RuleControlEntity.TAXON_MEASUREMENT.description"),
72 "Résultat_de_mesure_sur_taxon");
73
74
75
76
77 private static final long serialVersionUID = 4496195833262270046L;
78
79 private String key;
80 private String description;
81 private String enumValue;
82
83
84
85
86
87 private RuleControlEntity(String key, String description, String value)
88 {
89 this.key = key;
90 this.description = description;
91 this.enumValue = value;
92 }
93
94 @Override
95
96
97
98 public void setValue(String newValue) {
99 if (newValue != null && !this.enumValue.equals(newValue)) {
100
101 values.remove(this.enumValue);
102 literals.remove(this.enumValue);
103 this.enumValue = newValue;
104 values.put(this.enumValue, this);
105 literals.add(this.enumValue);
106 }
107 }
108
109
110 @Override
111 public String getValueAsString()
112 {
113 return String.valueOf(this.enumValue);
114 }
115
116
117
118
119
120
121
122 public static RuleControlEntity fromString(String name)
123 {
124 return RuleControlEntity.valueOf(name);
125 }
126
127
128
129
130
131
132
133 public String value()
134 {
135 return this.enumValue;
136 }
137
138
139
140
141
142
143
144
145 public static RuleControlEntity fromValue(String value)
146 {
147 for (RuleControlEntity enumName: RuleControlEntity.values())
148 {
149 if (enumName.getValue().equals(value))
150 {
151 return enumName;
152 }
153 }
154 throw new IllegalArgumentException("RuleControlEntity.fromValue(" + value + ')');
155 }
156
157
158
159
160
161
162 public String getValue()
163 {
164 return this.enumValue;
165 }
166
167 @Override
168 public String getDescription() {
169 return description;
170 }
171
172 @Override
173 public String getKey() {
174 return key;
175 }
176
177 @Override
178 public Class<?> getType() {
179 return String.class;
180 }
181
182
183
184
185
186
187
188 public static List<String> literals()
189 {
190 return RuleControlEntity.literals;
191 }
192
193
194
195
196
197
198
199
200 public static List<String> names()
201 {
202 return RuleControlEntity.names;
203 }
204
205 private static Map<String, RuleControlEntity> values = new LinkedHashMap<String, RuleControlEntity>(7, 1);
206 private static List<String> literals = new ArrayList<String>(7);
207 private static List<String> names = new ArrayList<String>(7);
208 private static List<RuleControlEntity> valueList = new ArrayList<RuleControlEntity>(7);
209
210
211
212
213 static
214 {
215 synchronized (RuleControlEntity.values)
216 {
217 RuleControlEntity.values.put(SURVEY_REEF_DB.enumValue, SURVEY_REEF_DB);
218 RuleControlEntity.values.put(SAMPLING_OPERATION_REEF_DB.enumValue, SAMPLING_OPERATION_REEF_DB);
219 RuleControlEntity.values.put(MEASUREMENT_REEF_DB.enumValue, MEASUREMENT_REEF_DB);
220 RuleControlEntity.values.put(SURVEY.enumValue, SURVEY);
221 RuleControlEntity.values.put(SAMPLING_OPERATION.enumValue, SAMPLING_OPERATION);
222 RuleControlEntity.values.put(MEASUREMENT.enumValue, MEASUREMENT);
223 RuleControlEntity.values.put(TAXON_MEASUREMENT.enumValue, TAXON_MEASUREMENT);
224 }
225 synchronized (RuleControlEntity.valueList)
226 {
227 RuleControlEntity.valueList.add(SURVEY_REEF_DB);
228 RuleControlEntity.valueList.add(SAMPLING_OPERATION_REEF_DB);
229 RuleControlEntity.valueList.add(MEASUREMENT_REEF_DB);
230 RuleControlEntity.valueList.add(SURVEY);
231 RuleControlEntity.valueList.add(SAMPLING_OPERATION);
232 RuleControlEntity.valueList.add(MEASUREMENT);
233 RuleControlEntity.valueList.add(TAXON_MEASUREMENT);
234
235
236 }
237 synchronized (RuleControlEntity.literals)
238 {
239 RuleControlEntity.literals.add(SURVEY_REEF_DB.enumValue);
240 RuleControlEntity.literals.add(SAMPLING_OPERATION_REEF_DB.enumValue);
241 RuleControlEntity.literals.add(MEASUREMENT_REEF_DB.enumValue);
242 RuleControlEntity.literals.add(SURVEY.enumValue);
243 RuleControlEntity.literals.add(SAMPLING_OPERATION.enumValue);
244 RuleControlEntity.literals.add(MEASUREMENT.enumValue);
245 RuleControlEntity.literals.add(TAXON_MEASUREMENT.enumValue);
246
247
248 }
249 synchronized (RuleControlEntity.names)
250 {
251 RuleControlEntity.names.add("SURVEY_REEF_DB");
252 RuleControlEntity.names.add("SAMPLING_OPERATION_REEF_DB");
253 RuleControlEntity.names.add("MEASUREMENT_REEF_DB");
254 RuleControlEntity.names.add("SURVEY");
255 RuleControlEntity.names.add("SAMPLING_OPERATION");
256 RuleControlEntity.names.add("MEASUREMENT");
257 RuleControlEntity.names.add("TAXON_MEASUREMENT");
258 RuleControlEntity.names = Collections.unmodifiableList(names);
259 }
260 }
261
262 }