View Javadoc
1   /*
2     * #%L
3     * Quadrige2 Core
4     * %%
5     * Copyright (C) 2017 Ifremer
6     * %%
7     * This program is free software: you can redistribute it and/or modify
8     * it under the terms of the GNU Affero General Public License as published by
9     * the Free Software Foundation, either version 3 of the License, or
10    * (at your option) any later version.
11    *
12    * This program is distributed in the hope that it will be useful,
13    * but WITHOUT ANY WARRANTY; without even the implied warranty of
14    * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15    * GNU General Public License for more details.
16    *
17    * You should have received a copy of the GNU Affero General Public License
18    * along with this program.  If not, see <http://www.gnu.org/licenses/>.
19    * #L%
20    */
21  //
22  // Attention: Generated code! Do not modify by hand!
23  // Generated by: TypeSafeEnumeration.vsl in andromda-java-cartridge.
24  // Model Class:  Données::fr.ifremer.quadrige2.core::dao::administration::program::ProgramPrivilegeIds
25  // Metafacade:   org.andromda.metafacades.uml.Enumeration
26  // Stereotype:  Enumeration
27  //
28  package fr.ifremer.quadrige2.core.dao.administration.program;
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 ProgramPrivilegeIds
43      implements Serializable, Quadrige2EnumerationDef<Integer>
44  {
45      MANAGER (
46  			"quadrige2.enumeration.ProgramPrivilegeIds.MANAGER",
47  			n("quadrige2.enumeration.ProgramPrivilegeIds.MANAGER.description"),
48  			1),
49      RECORDER (
50  			"quadrige2.enumeration.ProgramPrivilegeIds.RECORDER",
51  			n("quadrige2.enumeration.ProgramPrivilegeIds.RECORDER.description"),
52  			2),
53      VIEWER (
54  			"quadrige2.enumeration.ProgramPrivilegeIds.VIEWER",
55  			n("quadrige2.enumeration.ProgramPrivilegeIds.VIEWER.description"),
56  			3);
57  
58      /**
59       * The serial version UID of this class. Needed for serialization.
60       */
61      private static final long serialVersionUID = -8933387738104675026L;
62  
63      private String key;
64      private String description;
65      private Integer enumValue;
66  
67      /**
68       * The constructor with enumeration literal value allowing
69       * super classes to access it.
70       */
71      private ProgramPrivilegeIds(String key, String description, Integer value)
72      {
73      	this.key = key;
74      	this.description = description;
75          this.enumValue = value;
76      }
77      
78      @Override
79       /**
80        * Setter for value. Use to override value, from configuration
81        */
82       public void setValue(Integer newValue) {
83  		if (newValue != null && !this.enumValue.equals(newValue)) {
84  			// Update static lists
85  	    	values.remove(this.enumValue);
86  	    	literals.remove(this.enumValue);
87  	    	this.enumValue = newValue;
88  	    	values.put(this.enumValue, this);
89  	    	literals.add(this.enumValue);
90  		}
91      }
92      
93  
94      @Override
95      public String getValueAsString()
96      {
97          return String.valueOf(this.enumValue);
98      }
99  
100     /**
101      * Retrieves an instance of ProgramPrivilegeIds from <code>its name</code>.
102      *
103      * @param name the name to create the ProgramPrivilegeIds from.
104      * @return The enumeration literal named after the 'name' argument
105      */
106     public static ProgramPrivilegeIds fromString(String name)
107     {
108         return ProgramPrivilegeIds.valueOf(name);
109     }
110 
111     /**
112      * Returns an enumeration literal Integer <code>value</code>.
113      * Required by JAXB2 enumeration implementation
114      *
115      * @return Integer with corresponding value
116      */
117     public Integer value()
118     {
119         return this.enumValue;
120     }
121 
122     /**
123      * Returns an instance of ProgramPrivilegeIds from Integer <code>value</code>.
124      * Required by JAXB2 enumeration implementation
125      *
126      * @param value the value to create the ProgramPrivilegeIds from.
127      * @return static Enumeration with corresponding value
128      */
129     public static ProgramPrivilegeIds fromValue(Integer value)
130     {
131         for (ProgramPrivilegeIds enumName: ProgramPrivilegeIds.values())
132         {
133             if (enumName.getValue().equals(value))
134             {
135                 return enumName;
136             }
137         }
138         throw new IllegalArgumentException("ProgramPrivilegeIds.fromValue(" + value.toString() + ')');
139     }
140 
141     /**
142      * Gets the underlying value of this type safe enumeration.
143      * This method is necessary to comply with DaoBase implementation.
144      * @return The name of this literal.
145      */
146     public Integer getValue()
147     {
148         return this.enumValue;
149     }
150     
151     @Override
152     public String getDescription() {
153     	return description;
154     }
155     
156     @Override
157     public String getKey() {
158     	return key;
159     }
160     
161     @Override
162     public Class<?> getType() {
163     	return Integer.class;
164     }
165     
166     /**
167      * Returns an unmodifiable list containing the literals that are known by this enumeration.
168      *
169      * @return A List containing the actual literals defined by this enumeration, this list
170      *         can not be modified.
171      */
172     public static List<Integer> literals()
173     {
174         return ProgramPrivilegeIds.literals;
175     }
176 
177     /**
178      * Returns an unmodifiable list containing the names of the literals that are known
179      * by this enumeration.
180      *
181      * @return A List containing the actual names of the literals defined by this
182      *         enumeration, this list can not be modified.
183      */
184     public static List<String> names()
185     {
186         return ProgramPrivilegeIds.names;
187     }
188 
189     private static Map<Integer, ProgramPrivilegeIds> values = new LinkedHashMap<Integer, ProgramPrivilegeIds>(3, 1);
190     private static List<Integer> literals = new ArrayList<Integer>(3);
191     private static List<String> names = new ArrayList<String>(3);
192     private static List<ProgramPrivilegeIds> valueList = new ArrayList<ProgramPrivilegeIds>(3);
193 
194     /**
195      * Initializes the values.
196      */
197     static
198     {
199         synchronized (ProgramPrivilegeIds.values)
200         {
201             ProgramPrivilegeIds.values.put(MANAGER.enumValue, MANAGER);
202             ProgramPrivilegeIds.values.put(RECORDER.enumValue, RECORDER);
203             ProgramPrivilegeIds.values.put(VIEWER.enumValue, VIEWER);
204         }
205         synchronized (ProgramPrivilegeIds.valueList)
206         {
207             ProgramPrivilegeIds.valueList.add(MANAGER);
208             ProgramPrivilegeIds.valueList.add(RECORDER);
209             ProgramPrivilegeIds.valueList.add(VIEWER);
210             // For Quadrige2, lists could be reload from configuration (see method 'setValue')
211             //ProgramPrivilegeIds.valueList = Collections.unmodifiableList(valueList);
212         }
213         synchronized (ProgramPrivilegeIds.literals)
214         {
215             ProgramPrivilegeIds.literals.add(MANAGER.enumValue);
216             ProgramPrivilegeIds.literals.add(RECORDER.enumValue);
217             ProgramPrivilegeIds.literals.add(VIEWER.enumValue);
218             // For Quadrige2, lists could be reload from configuration (see method 'setValue')
219             //ProgramPrivilegeIds.literals = Collections.unmodifiableList(literals);
220         }
221         synchronized (ProgramPrivilegeIds.names)
222         {
223             ProgramPrivilegeIds.names.add("MANAGER");
224             ProgramPrivilegeIds.names.add("RECORDER");
225             ProgramPrivilegeIds.names.add("VIEWER");
226             ProgramPrivilegeIds.names = Collections.unmodifiableList(names);
227         }
228     }
229     // type-safe-enumeration-object java merge-point
230 }