001/*
002 * #%L
003 * SIH-Adagio
004 * $Id: javaMergeMappings.xml 12002 2014-03-26 10:17:22Z bl05b3e $
005 * $HeadURL: https://forge.ifremer.fr/svn/sih-adagio/tags/adagio-3.5.6/mda/src/main/config/javaMergeMappings.xml $
006 * %%
007 * Copyright (C) 2012 - 2013 Ifremer
008 * %%
009 * This program is free software: you can redistribute it and/or modify
010 * it under the terms of the GNU Affero General Public License as published by
011 * the Free Software Foundation, either version 3 of the License, or
012 * (at your option) any later version.
013 * 
014 * This program is distributed in the hope that it will be useful,
015 * but WITHOUT ANY WARRANTY; without even the implied warranty of
016 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
017 * GNU General Public License for more details.
018 * 
019 * You should have received a copy of the GNU Affero General Public License
020 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
021 * #L%
022 */
023//
024// Attention: Generated code! Do not modify by hand!
025// Generated by: TypeSafeEnumeration.vsl in andromda-java-cartridge.
026// Model Class:  Data::fr.ifremer.adagio.core.dao::administration::programStrategy::AcquisitionLevelCode
027// Metafacade:   org.andromda.metafacades.uml.Enumeration
028// Stereotype:  Enumeration
029//
030package fr.ifremer.adagio.core.dao.administration.programStrategy;
031
032import fr.ifremer.adagio.core.dao.technical.AdagioEnumerationDef;
033import java.io.Serializable;
034import java.util.ArrayList;
035import java.util.Collections;
036import java.util.LinkedHashMap;
037import java.util.List;
038import java.util.Map;
039import static org.nuiton.i18n.I18n.n;
040
041/**
042 * 
043 */
044public enum AcquisitionLevelCode
045    implements Serializable, AdagioEnumerationDef<String>
046{
047    /** TODO: Model Documentation for Enumeration Literal ACTIVITY_CALENDAR value "ACTIVITY_CALENDAR" */
048    ACTIVITY_CALENDAR (
049            "adagio.enumeration.AcquisitionLevelCode.ACTIVITY_CALENDAR", 
050            n("adagio.enumeration.AcquisitionLevelCode.ACTIVITY_CALENDAR.description"), 
051            "ACTIVITY_CALENDAR"),
052    /** TODO: Model Documentation for Enumeration Literal ACTIVITY value "MONTHLY_ACTIVITY" */
053    ACTIVITY (
054            "adagio.enumeration.AcquisitionLevelCode.ACTIVITY", 
055            n("adagio.enumeration.AcquisitionLevelCode.ACTIVITY.description"), 
056            "MONTHLY_ACTIVITY"),
057    /** TODO: Model Documentation for Enumeration Literal FISHING_TRIP value "FISHING_TRIP" */
058    FISHING_TRIP (
059            "adagio.enumeration.AcquisitionLevelCode.FISHING_TRIP", 
060            n("adagio.enumeration.AcquisitionLevelCode.FISHING_TRIP.description"), 
061            "FISHING_TRIP"),
062    /** TODO: Model Documentation for Enumeration Literal OBSERVED_TRIP_ON_BOARD value "OBSERVED_FISHING_TRIP" */
063    OBSERVED_TRIP_ON_BOARD (
064            "adagio.enumeration.AcquisitionLevelCode.OBSERVED_TRIP_ON_BOARD", 
065            n("adagio.enumeration.AcquisitionLevelCode.OBSERVED_TRIP_ON_BOARD.description"), 
066            "OBSERVED_FISHING_TRIP"),
067    /** TODO: Model Documentation for Enumeration Literal FISHING_TRIP_PHYSICAL_GEAR value "OBSERVED_FISHING_TRIP_PHYSICAL_GEAR" */
068    FISHING_TRIP_PHYSICAL_GEAR (
069            "adagio.enumeration.AcquisitionLevelCode.FISHING_TRIP_PHYSICAL_GEAR", 
070            n("adagio.enumeration.AcquisitionLevelCode.FISHING_TRIP_PHYSICAL_GEAR.description"), 
071            "OBSERVED_FISHING_TRIP_PHYSICAL_GEAR"),
072    /** TODO: Model Documentation for Enumeration Literal OPERATION value "OPERATION_fake" */
073    OPERATION (
074            "adagio.enumeration.AcquisitionLevelCode.OPERATION", 
075            n("adagio.enumeration.AcquisitionLevelCode.OPERATION.description"), 
076            "OPERATION_fake"),
077    /** TODO: Model Documentation for Enumeration Literal FISHING_OPERATION value "OPERATION" */
078    FISHING_OPERATION (
079            "adagio.enumeration.AcquisitionLevelCode.FISHING_OPERATION", 
080            n("adagio.enumeration.AcquisitionLevelCode.FISHING_OPERATION.description"), 
081            "OPERATION"),
082    /** TODO: Model Documentation for Enumeration Literal OPERATION_GROUP value "OPERATION_GROUP" */
083    OPERATION_GROUP (
084            "adagio.enumeration.AcquisitionLevelCode.OPERATION_GROUP", 
085            n("adagio.enumeration.AcquisitionLevelCode.OPERATION_GROUP.description"), 
086            "OPERATION_GROUP"),
087    /** TODO: Model Documentation for Enumeration Literal BATCH value "BATCH" */
088    BATCH (
089            "adagio.enumeration.AcquisitionLevelCode.BATCH", 
090            n("adagio.enumeration.AcquisitionLevelCode.BATCH.description"), 
091            "BATCH"),
092    /** TODO: Model Documentation for Enumeration Literal SAMPLE value "SAMPLE" */
093    SAMPLE (
094            "adagio.enumeration.AcquisitionLevelCode.SAMPLE", 
095            n("adagio.enumeration.AcquisitionLevelCode.SAMPLE.description"), 
096            "SAMPLE"),
097    /** TODO: Model Documentation for Enumeration Literal PHYSICAL_GEAR value "PHYSICAL_GEAR_SURVEY" */
098    PHYSICAL_GEAR (
099            "adagio.enumeration.AcquisitionLevelCode.PHYSICAL_GEAR", 
100            n("adagio.enumeration.AcquisitionLevelCode.PHYSICAL_GEAR.description"), 
101            "PHYSICAL_GEAR_SURVEY"),
102    /** TODO: Model Documentation for Enumeration Literal YEARLYEFFORT value "YEARLY_FISHING_EFFORT" */
103    YEARLYEFFORT (
104            "adagio.enumeration.AcquisitionLevelCode.YEARLYEFFORT", 
105            n("adagio.enumeration.AcquisitionLevelCode.YEARLYEFFORT.description"), 
106            "YEARLY_FISHING_EFFORT"),
107    /** TODO: Model Documentation for Enumeration Literal MONTHLY_EFFORT value "MONTHLY_FISHING_EFFORT" */
108    MONTHLY_EFFORT (
109            "adagio.enumeration.AcquisitionLevelCode.MONTHLY_EFFORT", 
110            n("adagio.enumeration.AcquisitionLevelCode.MONTHLY_EFFORT.description"), 
111            "MONTHLY_FISHING_EFFORT"),
112    /** TODO: Model Documentation for Enumeration Literal SCIENTIFIC_CRUISE value "SCIENTIFIC_CRUISE" */
113    SCIENTIFIC_CRUISE (
114            "adagio.enumeration.AcquisitionLevelCode.SCIENTIFIC_CRUISE", 
115            n("adagio.enumeration.AcquisitionLevelCode.SCIENTIFIC_CRUISE.description"), 
116            "SCIENTIFIC_CRUISE"),
117    /** TODO: Model Documentation for Enumeration Literal SALE value "SALE" */
118    SALE (
119            "adagio.enumeration.AcquisitionLevelCode.SALE", 
120            n("adagio.enumeration.AcquisitionLevelCode.SALE.description"), 
121            "SALE"),
122    /** TODO: Model Documentation for Enumeration Literal OBSERVED_SALE value "OBSERVED_SALE" */
123    OBSERVED_SALE (
124            "adagio.enumeration.AcquisitionLevelCode.OBSERVED_SALE", 
125            n("adagio.enumeration.AcquisitionLevelCode.OBSERVED_SALE.description"), 
126            "OBSERVED_SALE"),
127    /** TODO: Model Documentation for Enumeration Literal LANDING value "LANDING" */
128    LANDING (
129            "adagio.enumeration.AcquisitionLevelCode.LANDING", 
130            n("adagio.enumeration.AcquisitionLevelCode.LANDING.description"), 
131            "LANDING"),
132    /** TODO: Model Documentation for Enumeration Literal OBSERVED_LANDING value "OBSERVED_LANDING" */
133    OBSERVED_LANDING (
134            "adagio.enumeration.AcquisitionLevelCode.OBSERVED_LANDING", 
135            n("adagio.enumeration.AcquisitionLevelCode.OBSERVED_LANDING.description"), 
136            "OBSERVED_LANDING"),
137    /** TODO: Model Documentation for Enumeration Literal FISHING_EFFORT_CALENDAR value "EFFORT_CALENDAR" */
138    FISHING_EFFORT_CALENDAR (
139            "adagio.enumeration.AcquisitionLevelCode.FISHING_EFFORT_CALENDAR", 
140            n("adagio.enumeration.AcquisitionLevelCode.FISHING_EFFORT_CALENDAR.description"), 
141            "EFFORT_CALENDAR"),
142    /** TODO: Model Documentation for Enumeration Literal VESSEL_PHYSICALFEATURES value "VESSEL_PHYSICAL_FEATURES" */
143    VESSEL_PHYSICALFEATURES (
144            "adagio.enumeration.AcquisitionLevelCode.VESSEL_PHYSICALFEATURES", 
145            n("adagio.enumeration.AcquisitionLevelCode.VESSEL_PHYSICALFEATURES.description"), 
146            "VESSEL_PHYSICAL_FEATURES"),
147    /** TODO: Model Documentation for Enumeration Literal CONTROLS_REFERENTIAL value "CONTROLS_REFERENTIAL" */
148    CONTROLS_REFERENTIAL (
149            "adagio.enumeration.AcquisitionLevelCode.CONTROLS_REFERENTIAL", 
150            n("adagio.enumeration.AcquisitionLevelCode.CONTROLS_REFERENTIAL.description"), 
151            "CONTROLS_REFERENTIAL"),
152    /** TODO: Model Documentation for Enumeration Literal SALE_SURVEY value "SALE_SURVEY" */
153    SALE_SURVEY (
154            "adagio.enumeration.AcquisitionLevelCode.SALE_SURVEY", 
155            n("adagio.enumeration.AcquisitionLevelCode.SALE_SURVEY.description"), 
156            "SALE_SURVEY");
157
158    /**
159     * The serial version UID of this class. Needed for serialization.
160     */
161    private static final long serialVersionUID = 6927238615261180186L;
162
163    private String key;
164    private String description;
165    private String enumValue;
166
167    private AcquisitionLevelCode(String key, String description, String value)
168    {
169        this.key = key;
170        this.description = description;
171        this.enumValue = value;
172    }
173    
174    @Override
175    public void setValue(String newValue) {
176        if (newValue != null && !this.enumValue.equals(newValue)) {
177            // Update static lists
178            values.remove(this.enumValue);
179            literals.remove(this.enumValue);
180            this.enumValue = newValue;
181            values.put(this.enumValue, this);
182            literals.add(this.enumValue);
183        }
184    }
185    
186
187    @Override
188    public String getValueAsString()
189    {
190        return String.valueOf(this.enumValue);
191    }
192
193    /**
194     * Retrieves an instance of AcquisitionLevelCode from <code>its name</code>.
195     *
196     * @param name the name to create the AcquisitionLevelCode from.
197     * @return The enumeration literal named after the 'name' argument
198     */
199    public static AcquisitionLevelCode fromString(String name)
200    {
201        return AcquisitionLevelCode.valueOf(name);
202    }
203
204    /**
205     * Returns an enumeration literal String <code>value</code>.
206     * Required by JAXB2 enumeration implementation
207     *
208     * @return String with corresponding value
209     */
210    public String value()
211    {
212        return this.enumValue;
213    }
214
215    /**
216     * Returns an instance of AcquisitionLevelCode from String <code>value</code>.
217     * Required by JAXB2 enumeration implementation
218     *
219     * @param value the value to create the AcquisitionLevelCode from.
220     * @return static Enumeration with corresponding value
221     */
222    public static AcquisitionLevelCode fromValue(String value)
223    {
224        for (AcquisitionLevelCode enumName: AcquisitionLevelCode.values())
225        {
226            if (enumName.getValue().equals(value))
227            {
228                return enumName;
229            }
230        }
231        throw new IllegalArgumentException("AcquisitionLevelCode.fromValue(" + value + ')');
232    }
233
234    /**
235     * Gets the underlying value of this type safe enumeration.
236     * This method is necessary to comply with DaoBase implementation.
237     * @return The name of this literal.
238     */
239    public String getValue()
240    {
241        return this.enumValue;
242    }
243    
244    @Override
245    public String getDescription() {
246        return description;
247    }
248    
249    @Override
250    public String getKey() {
251        return key;
252    }
253    
254    @Override
255    public Class<?> getType() {
256        return String.class;
257    }
258    
259    /**
260     * Returns an unmodifiable list containing the literals that are known by this enumeration.
261     *
262     * @return A List containing the actual literals defined by this enumeration, this list
263     *         can not be modified.
264     */
265    public static List<String> literals()
266    {
267        return AcquisitionLevelCode.literals;
268    }
269
270    /**
271     * Returns an unmodifiable list containing the names of the literals that are known
272     * by this enumeration.
273     *
274     * @return A List containing the actual names of the literals defined by this
275     *         enumeration, this list can not be modified.
276     */
277    public static List<String> names()
278    {
279        return AcquisitionLevelCode.names;
280    }
281
282    private static Map<String, AcquisitionLevelCode> values = new LinkedHashMap<String, AcquisitionLevelCode>(22, 1);
283    private static List<String> literals = new ArrayList<String>(22);
284    private static List<String> names = new ArrayList<String>(22);
285    private static List<AcquisitionLevelCode> valueList = new ArrayList<AcquisitionLevelCode>(22);
286
287    /**
288     * Initializes the values.
289     */
290    static
291    {
292        synchronized (AcquisitionLevelCode.values)
293        {
294            AcquisitionLevelCode.values.put(ACTIVITY_CALENDAR.enumValue, ACTIVITY_CALENDAR);
295            AcquisitionLevelCode.values.put(ACTIVITY.enumValue, ACTIVITY);
296            AcquisitionLevelCode.values.put(FISHING_TRIP.enumValue, FISHING_TRIP);
297            AcquisitionLevelCode.values.put(OBSERVED_TRIP_ON_BOARD.enumValue, OBSERVED_TRIP_ON_BOARD);
298            AcquisitionLevelCode.values.put(FISHING_TRIP_PHYSICAL_GEAR.enumValue, FISHING_TRIP_PHYSICAL_GEAR);
299            AcquisitionLevelCode.values.put(OPERATION.enumValue, OPERATION);
300            AcquisitionLevelCode.values.put(FISHING_OPERATION.enumValue, FISHING_OPERATION);
301            AcquisitionLevelCode.values.put(OPERATION_GROUP.enumValue, OPERATION_GROUP);
302            AcquisitionLevelCode.values.put(BATCH.enumValue, BATCH);
303            AcquisitionLevelCode.values.put(SAMPLE.enumValue, SAMPLE);
304            AcquisitionLevelCode.values.put(PHYSICAL_GEAR.enumValue, PHYSICAL_GEAR);
305            AcquisitionLevelCode.values.put(YEARLYEFFORT.enumValue, YEARLYEFFORT);
306            AcquisitionLevelCode.values.put(MONTHLY_EFFORT.enumValue, MONTHLY_EFFORT);
307            AcquisitionLevelCode.values.put(SCIENTIFIC_CRUISE.enumValue, SCIENTIFIC_CRUISE);
308            AcquisitionLevelCode.values.put(SALE.enumValue, SALE);
309            AcquisitionLevelCode.values.put(OBSERVED_SALE.enumValue, OBSERVED_SALE);
310            AcquisitionLevelCode.values.put(LANDING.enumValue, LANDING);
311            AcquisitionLevelCode.values.put(OBSERVED_LANDING.enumValue, OBSERVED_LANDING);
312            AcquisitionLevelCode.values.put(FISHING_EFFORT_CALENDAR.enumValue, FISHING_EFFORT_CALENDAR);
313            AcquisitionLevelCode.values.put(VESSEL_PHYSICALFEATURES.enumValue, VESSEL_PHYSICALFEATURES);
314            AcquisitionLevelCode.values.put(CONTROLS_REFERENTIAL.enumValue, CONTROLS_REFERENTIAL);
315            AcquisitionLevelCode.values.put(SALE_SURVEY.enumValue, SALE_SURVEY);
316        }
317        synchronized (AcquisitionLevelCode.valueList)
318        {
319            AcquisitionLevelCode.valueList.add(ACTIVITY_CALENDAR);
320            AcquisitionLevelCode.valueList.add(ACTIVITY);
321            AcquisitionLevelCode.valueList.add(FISHING_TRIP);
322            AcquisitionLevelCode.valueList.add(OBSERVED_TRIP_ON_BOARD);
323            AcquisitionLevelCode.valueList.add(FISHING_TRIP_PHYSICAL_GEAR);
324            AcquisitionLevelCode.valueList.add(OPERATION);
325            AcquisitionLevelCode.valueList.add(FISHING_OPERATION);
326            AcquisitionLevelCode.valueList.add(OPERATION_GROUP);
327            AcquisitionLevelCode.valueList.add(BATCH);
328            AcquisitionLevelCode.valueList.add(SAMPLE);
329            AcquisitionLevelCode.valueList.add(PHYSICAL_GEAR);
330            AcquisitionLevelCode.valueList.add(YEARLYEFFORT);
331            AcquisitionLevelCode.valueList.add(MONTHLY_EFFORT);
332            AcquisitionLevelCode.valueList.add(SCIENTIFIC_CRUISE);
333            AcquisitionLevelCode.valueList.add(SALE);
334            AcquisitionLevelCode.valueList.add(OBSERVED_SALE);
335            AcquisitionLevelCode.valueList.add(LANDING);
336            AcquisitionLevelCode.valueList.add(OBSERVED_LANDING);
337            AcquisitionLevelCode.valueList.add(FISHING_EFFORT_CALENDAR);
338            AcquisitionLevelCode.valueList.add(VESSEL_PHYSICALFEATURES);
339            AcquisitionLevelCode.valueList.add(CONTROLS_REFERENTIAL);
340            AcquisitionLevelCode.valueList.add(SALE_SURVEY);
341            // For Adagio, lists could be reload from configuration
342            //AcquisitionLevelCode.valueList = Collections.unmodifiableList(valueList);
343        }
344        synchronized (AcquisitionLevelCode.literals)
345        {
346            AcquisitionLevelCode.literals.add(ACTIVITY_CALENDAR.enumValue);
347            AcquisitionLevelCode.literals.add(ACTIVITY.enumValue);
348            AcquisitionLevelCode.literals.add(FISHING_TRIP.enumValue);
349            AcquisitionLevelCode.literals.add(OBSERVED_TRIP_ON_BOARD.enumValue);
350            AcquisitionLevelCode.literals.add(FISHING_TRIP_PHYSICAL_GEAR.enumValue);
351            AcquisitionLevelCode.literals.add(OPERATION.enumValue);
352            AcquisitionLevelCode.literals.add(FISHING_OPERATION.enumValue);
353            AcquisitionLevelCode.literals.add(OPERATION_GROUP.enumValue);
354            AcquisitionLevelCode.literals.add(BATCH.enumValue);
355            AcquisitionLevelCode.literals.add(SAMPLE.enumValue);
356            AcquisitionLevelCode.literals.add(PHYSICAL_GEAR.enumValue);
357            AcquisitionLevelCode.literals.add(YEARLYEFFORT.enumValue);
358            AcquisitionLevelCode.literals.add(MONTHLY_EFFORT.enumValue);
359            AcquisitionLevelCode.literals.add(SCIENTIFIC_CRUISE.enumValue);
360            AcquisitionLevelCode.literals.add(SALE.enumValue);
361            AcquisitionLevelCode.literals.add(OBSERVED_SALE.enumValue);
362            AcquisitionLevelCode.literals.add(LANDING.enumValue);
363            AcquisitionLevelCode.literals.add(OBSERVED_LANDING.enumValue);
364            AcquisitionLevelCode.literals.add(FISHING_EFFORT_CALENDAR.enumValue);
365            AcquisitionLevelCode.literals.add(VESSEL_PHYSICALFEATURES.enumValue);
366            AcquisitionLevelCode.literals.add(CONTROLS_REFERENTIAL.enumValue);
367            AcquisitionLevelCode.literals.add(SALE_SURVEY.enumValue);
368            // For Adagio, lists could be reload from configuration
369            //AcquisitionLevelCode.literals = Collections.unmodifiableList(literals);
370        }
371        synchronized (AcquisitionLevelCode.names)
372        {
373            AcquisitionLevelCode.names.add("ACTIVITY_CALENDAR");
374            AcquisitionLevelCode.names.add("ACTIVITY");
375            AcquisitionLevelCode.names.add("FISHING_TRIP");
376            AcquisitionLevelCode.names.add("OBSERVED_TRIP_ON_BOARD");
377            AcquisitionLevelCode.names.add("FISHING_TRIP_PHYSICAL_GEAR");
378            AcquisitionLevelCode.names.add("OPERATION");
379            AcquisitionLevelCode.names.add("FISHING_OPERATION");
380            AcquisitionLevelCode.names.add("OPERATION_GROUP");
381            AcquisitionLevelCode.names.add("BATCH");
382            AcquisitionLevelCode.names.add("SAMPLE");
383            AcquisitionLevelCode.names.add("PHYSICAL_GEAR");
384            AcquisitionLevelCode.names.add("YEARLYEFFORT");
385            AcquisitionLevelCode.names.add("MONTHLY_EFFORT");
386            AcquisitionLevelCode.names.add("SCIENTIFIC_CRUISE");
387            AcquisitionLevelCode.names.add("SALE");
388            AcquisitionLevelCode.names.add("OBSERVED_SALE");
389            AcquisitionLevelCode.names.add("LANDING");
390            AcquisitionLevelCode.names.add("OBSERVED_LANDING");
391            AcquisitionLevelCode.names.add("FISHING_EFFORT_CALENDAR");
392            AcquisitionLevelCode.names.add("VESSEL_PHYSICALFEATURES");
393            AcquisitionLevelCode.names.add("CONTROLS_REFERENTIAL");
394            AcquisitionLevelCode.names.add("SALE_SURVEY");
395            AcquisitionLevelCode.names = Collections.unmodifiableList(names);
396        }
397    }
398    // type-safe-enumeration-object java merge-point
399}