public class Direction
{
public static final Direction East = new Direction("East");
public static final Direction West = new Direction("West");
public static final Direction North = new Direction("North");
public static final Direction South = new Direction("South");
private final String dirString;
private Direction(String name)
{
dirString = name;
}
public String toString()
{
return dirString;
}
public static Direction parse(String ds)
{
try
{
Direction ret = null;
Field[] fs = Direction.class.getFields();
for (int i = 0; i < fs.length; i++)
{
Field f = fs[i];
if (f.getType().getName().equals(Direction.class.getName()))
{
if (f.getName().toUpperCase().equals(ds.toUpperCase()))
{
ret = (Direction) f.get(null);
break;
}
}
}
return ret;
}
catch (Exception ex)
{
throw new RuntimeException(ds + " is a invalid direction enum string.");
}
}
}