CarType.java
// license-header java merge-point
//
// Attention: Generated code! Do not modify by hand!
// Generated by: TypeSafeEnumeration.vsl in andromda-java-cartridge.
// Model Class: SpringCartridge How to Model::Spring Example::org.andromda.test::CarType
// Metafacade: org.andromda.metafacades.uml.Enumeration
//
package org.andromda.test;
import java.util.ArrayList;
import java.util.Collections;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
/**
* TODO: Model Documentation for org.andromda.test.CarType
*/
public enum CarType
{
/** TODO: Model Documentation for Enumeration Literal SEDAN value "SEDAN" */
SEDAN("SEDAN"),
/** TODO: Model Documentation for Enumeration Literal LIFTBACK value "LIFTBACK" */
LIFTBACK("LIFTBACK"),
/** TODO: Model Documentation for Enumeration Literal STATION_WAGON value "STATION_WAGON" */
STATION_WAGON("STATION_WAGON");
/**
* The serial version UID of this class. Needed for serialization.
*/
private static final long serialVersionUID = 4894520153366663663L;
private final String enumValue;
/**
* The constructor with enumeration literal value allowing
* super classes to access it.
*/
private CarType(String value)
{
this.enumValue = value;
}
/*
* Do not override this method directly. Use an alternate name
* if providing a different toString implementation
* @see Object#toString()
@Override
public String toString()
{
return String.valueOf(this.enumValue);
}
*/
/**
* Retrieves an instance of CarType from <code>its name</code>.
*
* @param name the name to create the CarType from.
* @return The enumeration literal named after the 'name' argument
*/
public static CarType fromString(String name)
{
return CarType.valueOf(name);
}
/**
* Returns an enumeration literal String <code>value</code>.
* Required by JAXB2 enumeration implementation
*
* @return String with corresponding value
*/
public String value()
{
return this.enumValue;
}
/**
* Returns an instance of CarType from String <code>value</code>.
* Required by JAXB2 enumeration implementation
*
* @param value the value to create the CarType from.
* @return static Enumeration with corresponding value
*/
public static CarType fromValue(String value)
{
for (CarType enumName: CarType.values())
{
if (enumName.getValue().equals(value))
{
return enumName;
}
}
throw new IllegalArgumentException("CarType.fromValue(" + value + ')');
}
/**
* Gets the underlying value of this type safe enumeration.
* This method is necessary to comply with DaoBase implementation.
* @return The name of this literal.
*/
public String getValue()
{
return this.enumValue;
}
/**
* Returns an unmodifiable list containing the literals that are known by this enumeration.
*
* @return A List containing the actual literals defined by this enumeration, this list
* can not be modified.
*/
public static List<String> literals()
{
return CarType.literals;
}
/**
* Returns an unmodifiable list containing the names of the literals that are known
* by this enumeration.
*
* @return A List containing the actual names of the literals defined by this
* enumeration, this list can not be modified.
*/
public static List<String> names()
{
return CarType.names;
}
private static Map<String, CarType> values = new LinkedHashMap<String, CarType>(3, 1);
private static List<String> literals = new ArrayList<String>(3);
private static List<String> names = new ArrayList<String>(3);
private static List<CarType> valueList = new ArrayList<CarType>(3);
/**
* Initializes the values.
*/
static
{
synchronized (CarType.values)
{
CarType.values.put(SEDAN.enumValue, SEDAN);
CarType.values.put(LIFTBACK.enumValue, LIFTBACK);
CarType.values.put(STATION_WAGON.enumValue, STATION_WAGON);
}
synchronized (CarType.valueList)
{
CarType.valueList.add(SEDAN);
CarType.valueList.add(LIFTBACK);
CarType.valueList.add(STATION_WAGON);
CarType.valueList = Collections.unmodifiableList(valueList);
}
synchronized (CarType.literals)
{
CarType.literals.add(SEDAN.enumValue);
CarType.literals.add(LIFTBACK.enumValue);
CarType.literals.add(STATION_WAGON.enumValue);
CarType.literals = Collections.unmodifiableList(literals);
}
synchronized (CarType.names)
{
CarType.names.add("SEDAN");
CarType.names.add("LIFTBACK");
CarType.names.add("STATION_WAGON");
CarType.names = Collections.unmodifiableList(names);
}
}
// type-safe-enumeration-object java merge-point
}