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