|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--org.apache.avalon.framework.Enum
Basic enum class for type-safe enums. Should be used as an abstract base. For example:
import org.apache.avalon.framework.Enum; public final class Color extends Enum { public static final Color RED = new Color( "Red" ); public static final Color GREEN = new Color( "Green" ); public static final Color BLUE = new Color( "Blue" ); private Color( final String color ) { super( color ); } }If further operations, such as iterating over all items, are required, the
Enum(String, Map)
constructor can be used to populate a Map
, from which
further functionality can be derived:
public final class Color extends Enum { static final Map map = new HashMap(); public static final Color RED = new Color( "Red", map ); public static final Color GREEN = new Color( "Green", map ); public static final Color BLUE = new Color( "Blue", map ); private Color( final String color, final Map map ) { super( color, map ); } public static Iterator iterator() { return map.values().iterator(); } }
NOTE: between 4.0 and 4.1, the constructors' access has been changed
from public
to protected
. This is to prevent users
of the Enum breaking type-safety by defining new Enum items. All Enum items
should be defined in the Enum class, as shown above.
Constructor Summary | |
protected |
Enum(String name)
Constructor to add a new named item. |
protected |
Enum(String name,
Map map)
Constructor to add a new named item. |
Method Summary | |
boolean |
equals(Object other)
Tests for equality. |
String |
getName()
Retrieve the name of this Enum item, set in the constructor. |
int |
hashCode()
Returns a hash code value for the object. |
String |
toString()
Human readable description of this Enum item. |
Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Constructor Detail |
protected Enum(String name)
Note: access changed from public
to
protected
after 4.0. See class description.
name
- Name of the item.protected Enum(String name, Map map)
Note: access changed from public
to
protected
after 4.0. See class description.
name
- Name of the item.map
- A Map
, to which will be added a pointer to the newly constructed
object.Method Detail |
public final boolean equals(Object other)
equals
in class Object
other
- the other object
public int hashCode()
hashCode
in class Object
public final String getName()
String
of this Enum itempublic String toString()
toString
in class Object
type[name]
, eg.:
Color[Red]
.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |