here is a sample class, Measurement with just the relevant code, including the inner class Type:
public
class Measurement
{
/**
* Inner class for the enumeration values that the attribute type
* can assume.
*/
public
class
Type
{
int value = -1;
String name = null;
private HashMap nameToValue = new HashMap(2);
private HashMap valueToName = new HashMap(2);
final public int absolute = 0;
final public int change = 1;
Type(){
nameToValue.put("absolute",new Integer(0));
valueToName.put(new Integer(0),"absolute");
nameToValue.put("change",new Integer(1));
valueToName.put(new Integer(1),"change");
}
public int setValueByName(String name) {
value = ((Integer)nameToValue.get(name)).intValue();
return value;
}
public int getValueByName(String name) {
return ((Integer)nameToValue.get(name)).intValue();
}
public String setNameByValue(int val) {
name = ((String)valueToName.get(new Integer(val)));
return name;
}
public String getNameByValue(int val) {
return ((String)valueToName.get(new Integer(val)));
}
public int getValue() {
return value;
}
public String getName() {
return name;
}
public String toString() {
return getNameByValue(getValue());
}
}
/**
* The type of measurement
*/
Type type = new Type();
/* setter/getter below for type */
public
Type
getType()
{
return type;
}
public
void
setType(
Type type
)
{
this.type = type;
}
// Accessors/Mutators to Inner Class Type fields
/**
* Return the current name of the Enumeration type of Type.
*/ public
String
getNameType()
{
return getType().getName();
}
/**
* Return the currrent value of the Enumeration type of Type.
*/ public
int
getValueType()
{
return getType().getValue();
}
public
String
setNameByValueType (int val)
{
return getType().setNameByValue(val);
}
/**
* For Type set the Value of the Enumeration type by passing a Name to it.
* @param String name The name to be mapped to a value */
public
int
setValueByNameType (String name)
{
return getType().setValueByName(name);
}
public
String
getNameByValueType (int val)
{
return getType().getNameByValue(val);
}
public
int
getValueByNameType (String name)
{
return getType().getValueByName(name);
}
}
thanks,
C>T>
|