org.apache.avalon.framework
public abstract class ValuedEnum extends Enum
import org.apache.avalon.framework.ValuedEnum; public final class JavaVersion extends ValuedEnum { //standard enums for version of JVM public static final JavaVersion JAVA1_0 = new JavaVersion( "Java 1.0", 100 ); public static final JavaVersion JAVA1_1 = new JavaVersion( "Java 1.1", 110 ); public static final JavaVersion JAVA1_2 = new JavaVersion( "Java 1.2", 120 ); public static final JavaVersion JAVA1_3 = new JavaVersion( "Java 1.3", 130 ); private JavaVersion( final String name, final int value ) { super( name, value ); } }The above class could then be used as follows:
import org.apache.avalon.framework.context.Context; import org.apache.avalon.framework.context.Contextualizable; import org.apache.avalon.framework.context.ContextException; public class MyComponent implements Contextualizable { JavaVersion requiredVer = JavaVersion.JAVA1_2; public void contextualize(Context context) throws ContextException { JavaVersion ver = (JavaVersion)context.get("java.version"); if ( ver.isLessThan( requiredVer ) ) { throw new RuntimeException( requiredVer.getName()+" or higher required" ); } } }As with
Enum
, the ValuedEnum constructor can be used to
populate a Map
, from which further functionality can be derived.
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.
Version: $Id: ValuedEnum.java 45862 2004-09-10 22:16:39 -0500 (Fri, 10 Sep 2004) niclas $
Field Summary | |
---|---|
int | m_value
The value contained in enum. |
Constructor Summary | |
---|---|
protected | ValuedEnum(String name, int value)
Constructor for enum item.
|
protected | ValuedEnum(String name, int value, Map map)
Constructor for enum item so that it gets added to Map at creation.
|
Method Summary | |
---|---|
boolean | equals(Object o)
Tests for equality. |
int | getValue()
Get value of enum item.
|
int | hashCode() |
boolean | isEqualTo(ValuedEnum other)
Test if enum item is equal in value to other enum.
|
boolean | isGreaterThan(ValuedEnum other)
Test if enum item is greater than in value to other enum.
|
boolean | isGreaterThanOrEqual(ValuedEnum other)
Test if enum item is greater than or equal in value to other enum.
|
boolean | isLessThan(ValuedEnum other)
Test if enum item is less than in value to other enum.
|
boolean | isLessThanOrEqual(ValuedEnum other)
Test if enum item is less than or equal in value to other enum.
|
String | toString()
Override toString method to produce human readable description.
|
Note: access changed from public
to
protected
after 4.0. See class description.
Parameters: name the name of enum item. value the value of enum item.
public
to
protected
after 4.0. See class description.
Parameters: name the name of enum item. value the value of enum item. map the Map
to add enum item to.
Parameters: o the other object
Returns: the equality status
Returns: the enum item's value.
Parameters: other the other enum
Returns: true if equal
Parameters: other the other enum
Returns: true if greater than
Parameters: other the other enum
Returns: true if greater than or equal
Parameters: other the other enum
Returns: true if less than
Parameters: other the other enum
Returns: true if less than or equal
Returns: String in the form type[name=value]
, eg.:
JavaVersion[Java 1.0=100]
.