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.referential;
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 QualityFlagCode
43 implements Serializable, QuadrigeEnumerationDef<String>
44 {
45 NOT_QUALIFIED (
46 "quadrige3.enumeration.QualityFlagCode.NOT_QUALIFIED",
47 n("quadrige3.enumeration.QualityFlagCode.NOT_QUALIFIED.description"),
48 "0"),
49 GOOD (
50 "quadrige3.enumeration.QualityFlagCode.GOOD",
51 n("quadrige3.enumeration.QualityFlagCode.GOOD.description"),
52 "1"),
53 DOUBTFUL (
54 "quadrige3.enumeration.QualityFlagCode.DOUBTFUL",
55 n("quadrige3.enumeration.QualityFlagCode.DOUBTFUL.description"),
56 "3"),
57 BAD (
58 "quadrige3.enumeration.QualityFlagCode.BAD",
59 n("quadrige3.enumeration.QualityFlagCode.BAD.description"),
60 "4");
61
62
63
64
65 private static final long serialVersionUID = -9083805314634950024L;
66
67 private String key;
68 private String description;
69 private String enumValue;
70
71
72
73
74
75 private QualityFlagCode(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 QualityFlagCode fromString(String name)
111 {
112 return QualityFlagCode.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 QualityFlagCode fromValue(String value)
134 {
135 for (QualityFlagCode enumName: QualityFlagCode.values())
136 {
137 if (enumName.getValue().equals(value))
138 {
139 return enumName;
140 }
141 }
142 throw new IllegalArgumentException("QualityFlagCode.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 QualityFlagCode.literals;
179 }
180
181
182
183
184
185
186
187
188 public static List<String> names()
189 {
190 return QualityFlagCode.names;
191 }
192
193 private static Map<String, QualityFlagCode> values = new LinkedHashMap<String, QualityFlagCode>(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<QualityFlagCode> valueList = new ArrayList<QualityFlagCode>(4);
197
198
199
200
201 static
202 {
203 synchronized (QualityFlagCode.values)
204 {
205 QualityFlagCode.values.put(NOT_QUALIFIED.enumValue, NOT_QUALIFIED);
206 QualityFlagCode.values.put(GOOD.enumValue, GOOD);
207 QualityFlagCode.values.put(DOUBTFUL.enumValue, DOUBTFUL);
208 QualityFlagCode.values.put(BAD.enumValue, BAD);
209 }
210 synchronized (QualityFlagCode.valueList)
211 {
212 QualityFlagCode.valueList.add(NOT_QUALIFIED);
213 QualityFlagCode.valueList.add(GOOD);
214 QualityFlagCode.valueList.add(DOUBTFUL);
215 QualityFlagCode.valueList.add(BAD);
216
217
218 }
219 synchronized (QualityFlagCode.literals)
220 {
221 QualityFlagCode.literals.add(NOT_QUALIFIED.enumValue);
222 QualityFlagCode.literals.add(GOOD.enumValue);
223 QualityFlagCode.literals.add(DOUBTFUL.enumValue);
224 QualityFlagCode.literals.add(BAD.enumValue);
225
226
227 }
228 synchronized (QualityFlagCode.names)
229 {
230 QualityFlagCode.names.add("NOT_QUALIFIED");
231 QualityFlagCode.names.add("GOOD");
232 QualityFlagCode.names.add("DOUBTFUL");
233 QualityFlagCode.names.add("BAD");
234 QualityFlagCode.names = Collections.unmodifiableList(names);
235 }
236 }
237
238 }