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::referential::pmfm::PmfmNaturalId
027// Metafacade:   org.andromda.metafacades.uml.Enumeration
028// Stereotype:  Enumeration
029//
030package fr.ifremer.adagio.core.dao.referential.pmfm;
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 * <PAREMTER_FK>;<MATRIC_FK>;<FRACTION_FK>;<METHOD_FK>
043 */
044public enum PmfmNaturalId
045    implements Serializable, AdagioEnumerationDef<String>
046{
047    /** TODO: Model Documentation for Enumeration Literal ALIVE_WEIGHT_CALCULATED value "WEIGHT_CALCULATED;1;1;5" */
048    ALIVE_WEIGHT_CALCULATED (
049            "adagio.enumeration.PmfmNaturalId.ALIVE_WEIGHT_CALCULATED", 
050            n("adagio.enumeration.PmfmNaturalId.ALIVE_WEIGHT_CALCULATED.description"), 
051            "WEIGHT_CALCULATED;1;1;5"),
052    /** TODO: Model Documentation for Enumeration Literal WEIGHT_SIZE_CALCULATED value "WEIGHT_CALCULATED;1;1;47" */
053    WEIGHT_SIZE_CALCULATED (
054            "adagio.enumeration.PmfmNaturalId.WEIGHT_SIZE_CALCULATED", 
055            n("adagio.enumeration.PmfmNaturalId.WEIGHT_SIZE_CALCULATED.description"), 
056            "WEIGHT_CALCULATED;1;1;47"),
057    /** TODO: Model Documentation for Enumeration Literal WEIGHT_TOTAL_CALCULATED value "WEIGHT_CALCULATED;1;1;22" */
058    WEIGHT_TOTAL_CALCULATED (
059            "adagio.enumeration.PmfmNaturalId.WEIGHT_TOTAL_CALCULATED", 
060            n("adagio.enumeration.PmfmNaturalId.WEIGHT_TOTAL_CALCULATED.description"), 
061            "WEIGHT_CALCULATED;1;1;22"),
062    /** TODO: Model Documentation for Enumeration Literal CALCULATED_WEIGHT_CHILDREN_SUM value "WEIGHT_CALCULATED;1;1;341" */
063    CALCULATED_WEIGHT_CHILDREN_SUM (
064            "adagio.enumeration.PmfmNaturalId.CALCULATED_WEIGHT_CHILDREN_SUM", 
065            n("adagio.enumeration.PmfmNaturalId.CALCULATED_WEIGHT_CHILDREN_SUM.description"), 
066            "WEIGHT_CALCULATED;1;1;341"),
067    /** TODO: Model Documentation for Enumeration Literal CALCULATED_ALIVE_WEIGHT_CHILDREN_SUM value "WEIGHT_CALCULATED;1;1;343" */
068    CALCULATED_ALIVE_WEIGHT_CHILDREN_SUM (
069            "adagio.enumeration.PmfmNaturalId.CALCULATED_ALIVE_WEIGHT_CHILDREN_SUM", 
070            n("adagio.enumeration.PmfmNaturalId.CALCULATED_ALIVE_WEIGHT_CHILDREN_SUM.description"), 
071            "WEIGHT_CALCULATED;1;1;343"),
072    /** TODO: Model Documentation for Enumeration Literal MAX_DISTANCE_FOR_OPERATION_WITH_GEAR value "DISTANCE_MAX_OPERATION;6;1;21" */
073    MAX_DISTANCE_FOR_OPERATION_WITH_GEAR (
074            "adagio.enumeration.PmfmNaturalId.MAX_DISTANCE_FOR_OPERATION_WITH_GEAR", 
075            n("adagio.enumeration.PmfmNaturalId.MAX_DISTANCE_FOR_OPERATION_WITH_GEAR.description"), 
076            "DISTANCE_MAX_OPERATION;6;1;21"),
077    /** TODO: Model Documentation for Enumeration Literal MAX_DURATION_FOR_OPERATION_WITH_GEAR value "SOAK_TIME_MAX;6;1;21" */
078    MAX_DURATION_FOR_OPERATION_WITH_GEAR (
079            "adagio.enumeration.PmfmNaturalId.MAX_DURATION_FOR_OPERATION_WITH_GEAR", 
080            n("adagio.enumeration.PmfmNaturalId.MAX_DURATION_FOR_OPERATION_WITH_GEAR.description"), 
081            "SOAK_TIME_MAX;6;1;21"),
082    /** TODO: Model Documentation for Enumeration Literal MAX_DISTANCE_FOR_OPERATION_WITH_METIER value "DISTANCE_MAX_OPERATION;6;1;21" */
083    MAX_DISTANCE_FOR_OPERATION_WITH_METIER (
084            "adagio.enumeration.PmfmNaturalId.MAX_DISTANCE_FOR_OPERATION_WITH_METIER", 
085            n("adagio.enumeration.PmfmNaturalId.MAX_DISTANCE_FOR_OPERATION_WITH_METIER.description"), 
086            "DISTANCE_MAX_OPERATION;6;1;21"),
087    /** TODO: Model Documentation for Enumeration Literal MAX_DURATION_FOR_OPERATION_WITH_METIER value "SOAK_TIME_MAX;6;1;21" */
088    MAX_DURATION_FOR_OPERATION_WITH_METIER (
089            "adagio.enumeration.PmfmNaturalId.MAX_DURATION_FOR_OPERATION_WITH_METIER", 
090            n("adagio.enumeration.PmfmNaturalId.MAX_DURATION_FOR_OPERATION_WITH_METIER.description"), 
091            "SOAK_TIME_MAX;6;1;21"),
092    /** TODO: Model Documentation for Enumeration Literal STORAGE_STATE value "CLOSE_OBSVENTE_STOCK;61;61;21" */
093    STORAGE_STATE (
094            "adagio.enumeration.PmfmNaturalId.STORAGE_STATE", 
095            n("adagio.enumeration.PmfmNaturalId.STORAGE_STATE.description"), 
096            "CLOSE_OBSVENTE_STOCK;61;61;21"),
097    /** TODO: Model Documentation for Enumeration Literal WEIGHT_SIZE_EXTRAPOLATE value "WEIGHT_CALCULATED;1;1;283" */
098    WEIGHT_SIZE_EXTRAPOLATE (
099            "adagio.enumeration.PmfmNaturalId.WEIGHT_SIZE_EXTRAPOLATE", 
100            n("adagio.enumeration.PmfmNaturalId.WEIGHT_SIZE_EXTRAPOLATE.description"), 
101            "WEIGHT_CALCULATED;1;1;283");
102
103    /**
104     * The serial version UID of this class. Needed for serialization.
105     */
106    private static final long serialVersionUID = -3204983874641425601L;
107
108    private String key;
109    private String description;
110    private String enumValue;
111
112    private PmfmNaturalId(String key, String description, String value)
113    {
114        this.key = key;
115        this.description = description;
116        this.enumValue = value;
117    }
118    
119    @Override
120    public void setValue(String newValue) {
121        if (newValue != null && !this.enumValue.equals(newValue)) {
122            // Update static lists
123            values.remove(this.enumValue);
124            literals.remove(this.enumValue);
125            this.enumValue = newValue;
126            values.put(this.enumValue, this);
127            literals.add(this.enumValue);
128        }
129    }
130    
131
132    @Override
133    public String getValueAsString()
134    {
135        return String.valueOf(this.enumValue);
136    }
137
138    /**
139     * Retrieves an instance of PmfmNaturalId from <code>its name</code>.
140     *
141     * @param name the name to create the PmfmNaturalId from.
142     * @return The enumeration literal named after the 'name' argument
143     */
144    public static PmfmNaturalId fromString(String name)
145    {
146        return PmfmNaturalId.valueOf(name);
147    }
148
149    /**
150     * Returns an enumeration literal String <code>value</code>.
151     * Required by JAXB2 enumeration implementation
152     *
153     * @return String with corresponding value
154     */
155    public String value()
156    {
157        return this.enumValue;
158    }
159
160    /**
161     * Returns an instance of PmfmNaturalId from String <code>value</code>.
162     * Required by JAXB2 enumeration implementation
163     *
164     * @param value the value to create the PmfmNaturalId from.
165     * @return static Enumeration with corresponding value
166     */
167    public static PmfmNaturalId fromValue(String value)
168    {
169        for (PmfmNaturalId enumName: PmfmNaturalId.values())
170        {
171            if (enumName.getValue().equals(value))
172            {
173                return enumName;
174            }
175        }
176        throw new IllegalArgumentException("PmfmNaturalId.fromValue(" + value + ')');
177    }
178
179    /**
180     * Gets the underlying value of this type safe enumeration.
181     * This method is necessary to comply with DaoBase implementation.
182     * @return The name of this literal.
183     */
184    public String getValue()
185    {
186        return this.enumValue;
187    }
188    
189    @Override
190    public String getDescription() {
191        return description;
192    }
193    
194    @Override
195    public String getKey() {
196        return key;
197    }
198    
199    @Override
200    public Class<?> getType() {
201        return String.class;
202    }
203    
204    /**
205     * Returns an unmodifiable list containing the literals that are known by this enumeration.
206     *
207     * @return A List containing the actual literals defined by this enumeration, this list
208     *         can not be modified.
209     */
210    public static List<String> literals()
211    {
212        return PmfmNaturalId.literals;
213    }
214
215    /**
216     * Returns an unmodifiable list containing the names of the literals that are known
217     * by this enumeration.
218     *
219     * @return A List containing the actual names of the literals defined by this
220     *         enumeration, this list can not be modified.
221     */
222    public static List<String> names()
223    {
224        return PmfmNaturalId.names;
225    }
226
227    private static Map<String, PmfmNaturalId> values = new LinkedHashMap<String, PmfmNaturalId>(11, 1);
228    private static List<String> literals = new ArrayList<String>(11);
229    private static List<String> names = new ArrayList<String>(11);
230    private static List<PmfmNaturalId> valueList = new ArrayList<PmfmNaturalId>(11);
231
232    /**
233     * Initializes the values.
234     */
235    static
236    {
237        synchronized (PmfmNaturalId.values)
238        {
239            PmfmNaturalId.values.put(ALIVE_WEIGHT_CALCULATED.enumValue, ALIVE_WEIGHT_CALCULATED);
240            PmfmNaturalId.values.put(WEIGHT_SIZE_CALCULATED.enumValue, WEIGHT_SIZE_CALCULATED);
241            PmfmNaturalId.values.put(WEIGHT_TOTAL_CALCULATED.enumValue, WEIGHT_TOTAL_CALCULATED);
242            PmfmNaturalId.values.put(CALCULATED_WEIGHT_CHILDREN_SUM.enumValue, CALCULATED_WEIGHT_CHILDREN_SUM);
243            PmfmNaturalId.values.put(CALCULATED_ALIVE_WEIGHT_CHILDREN_SUM.enumValue, CALCULATED_ALIVE_WEIGHT_CHILDREN_SUM);
244            PmfmNaturalId.values.put(MAX_DISTANCE_FOR_OPERATION_WITH_GEAR.enumValue, MAX_DISTANCE_FOR_OPERATION_WITH_GEAR);
245            PmfmNaturalId.values.put(MAX_DURATION_FOR_OPERATION_WITH_GEAR.enumValue, MAX_DURATION_FOR_OPERATION_WITH_GEAR);
246            PmfmNaturalId.values.put(MAX_DISTANCE_FOR_OPERATION_WITH_METIER.enumValue, MAX_DISTANCE_FOR_OPERATION_WITH_METIER);
247            PmfmNaturalId.values.put(MAX_DURATION_FOR_OPERATION_WITH_METIER.enumValue, MAX_DURATION_FOR_OPERATION_WITH_METIER);
248            PmfmNaturalId.values.put(STORAGE_STATE.enumValue, STORAGE_STATE);
249            PmfmNaturalId.values.put(WEIGHT_SIZE_EXTRAPOLATE.enumValue, WEIGHT_SIZE_EXTRAPOLATE);
250        }
251        synchronized (PmfmNaturalId.valueList)
252        {
253            PmfmNaturalId.valueList.add(ALIVE_WEIGHT_CALCULATED);
254            PmfmNaturalId.valueList.add(WEIGHT_SIZE_CALCULATED);
255            PmfmNaturalId.valueList.add(WEIGHT_TOTAL_CALCULATED);
256            PmfmNaturalId.valueList.add(CALCULATED_WEIGHT_CHILDREN_SUM);
257            PmfmNaturalId.valueList.add(CALCULATED_ALIVE_WEIGHT_CHILDREN_SUM);
258            PmfmNaturalId.valueList.add(MAX_DISTANCE_FOR_OPERATION_WITH_GEAR);
259            PmfmNaturalId.valueList.add(MAX_DURATION_FOR_OPERATION_WITH_GEAR);
260            PmfmNaturalId.valueList.add(MAX_DISTANCE_FOR_OPERATION_WITH_METIER);
261            PmfmNaturalId.valueList.add(MAX_DURATION_FOR_OPERATION_WITH_METIER);
262            PmfmNaturalId.valueList.add(STORAGE_STATE);
263            PmfmNaturalId.valueList.add(WEIGHT_SIZE_EXTRAPOLATE);
264            // For Adagio, lists could be reload from configuration
265            //PmfmNaturalId.valueList = Collections.unmodifiableList(valueList);
266        }
267        synchronized (PmfmNaturalId.literals)
268        {
269            PmfmNaturalId.literals.add(ALIVE_WEIGHT_CALCULATED.enumValue);
270            PmfmNaturalId.literals.add(WEIGHT_SIZE_CALCULATED.enumValue);
271            PmfmNaturalId.literals.add(WEIGHT_TOTAL_CALCULATED.enumValue);
272            PmfmNaturalId.literals.add(CALCULATED_WEIGHT_CHILDREN_SUM.enumValue);
273            PmfmNaturalId.literals.add(CALCULATED_ALIVE_WEIGHT_CHILDREN_SUM.enumValue);
274            PmfmNaturalId.literals.add(MAX_DISTANCE_FOR_OPERATION_WITH_GEAR.enumValue);
275            PmfmNaturalId.literals.add(MAX_DURATION_FOR_OPERATION_WITH_GEAR.enumValue);
276            PmfmNaturalId.literals.add(MAX_DISTANCE_FOR_OPERATION_WITH_METIER.enumValue);
277            PmfmNaturalId.literals.add(MAX_DURATION_FOR_OPERATION_WITH_METIER.enumValue);
278            PmfmNaturalId.literals.add(STORAGE_STATE.enumValue);
279            PmfmNaturalId.literals.add(WEIGHT_SIZE_EXTRAPOLATE.enumValue);
280            // For Adagio, lists could be reload from configuration
281            //PmfmNaturalId.literals = Collections.unmodifiableList(literals);
282        }
283        synchronized (PmfmNaturalId.names)
284        {
285            PmfmNaturalId.names.add("ALIVE_WEIGHT_CALCULATED");
286            PmfmNaturalId.names.add("WEIGHT_SIZE_CALCULATED");
287            PmfmNaturalId.names.add("WEIGHT_TOTAL_CALCULATED");
288            PmfmNaturalId.names.add("CALCULATED_WEIGHT_CHILDREN_SUM");
289            PmfmNaturalId.names.add("CALCULATED_ALIVE_WEIGHT_CHILDREN_SUM");
290            PmfmNaturalId.names.add("MAX_DISTANCE_FOR_OPERATION_WITH_GEAR");
291            PmfmNaturalId.names.add("MAX_DURATION_FOR_OPERATION_WITH_GEAR");
292            PmfmNaturalId.names.add("MAX_DISTANCE_FOR_OPERATION_WITH_METIER");
293            PmfmNaturalId.names.add("MAX_DURATION_FOR_OPERATION_WITH_METIER");
294            PmfmNaturalId.names.add("STORAGE_STATE");
295            PmfmNaturalId.names.add("WEIGHT_SIZE_EXTRAPOLATE");
296            PmfmNaturalId.names = Collections.unmodifiableList(names);
297        }
298    }
299    // type-safe-enumeration-object java merge-point
300}