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