org.jibx.runtime
Class EnumSet

java.lang.Object
  extended by org.jibx.runtime.EnumSet

public class EnumSet
extends java.lang.Object

Named value set support class. This provides convenience methods to support working with a set of named static final int values, including translating them to and from String representations. It's intended for use with relatively small nonnegative int values.

Author:
Dennis M. Sosnoski

Nested Class Summary
static class EnumSet.EnumItem
          Enumeration pair information.
 
Field Summary
static int VALUE_LIMIT
          Maximum int value supported for enumerations.
 
Constructor Summary
EnumSet(EnumSet.EnumItem[] items)
          Constructor from array of enumeration items.
EnumSet(EnumSet base, int start, java.lang.String[] names)
          Constructor from existing enumeration with added names.
EnumSet(int start, java.lang.String[] names)
          Constructor from array of names.
 
Method Summary
 void checkValue(int value)
          Check value with exception.
 java.lang.String getName(int value)
          Get name for value if defined.
 java.lang.String getNameChecked(int value)
          Get name for value.
 int getValue(java.lang.String name)
          Get value for name if defined.
 int getValueChecked(java.lang.String name)
          Get value for name.
 int maxIndex()
          Get maximum index value in enumeration set.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

VALUE_LIMIT

public static final int VALUE_LIMIT
Maximum int value supported for enumerations.

See Also:
Constant Field Values
Constructor Detail

EnumSet

public EnumSet(EnumSet.EnumItem[] items)
Constructor from array of enumeration items. The supplied items can be in any order, and the numeric values do not need to be contiguous (but must be unique, nonnegative, and should be fairly small). Note that this constructor will reorder the items in the supplied array as a side effect.

Parameters:
items - array of enumeration items (will be reordered)

EnumSet

public EnumSet(int start,
               java.lang.String[] names)
Constructor from array of names. The value associated with each name is just the position index in the array added to the start value.

Parameters:
start - item value for first added name
names - array of names (no null entries allowed)

EnumSet

public EnumSet(EnumSet base,
               int start,
               java.lang.String[] names)
Constructor from existing enumeration with added names. The value associated with each name is just the position index in the array added to the start value.

Parameters:
base - base enumeration to be extended
start - item value for first added name
names - array of names (no null entries allowed)
Method Detail

getName

public java.lang.String getName(int value)
Get name for value if defined.

Parameters:
value - enumeration value
Returns:
name for value, or null if not defined

getNameChecked

public java.lang.String getNameChecked(int value)
Get name for value. If the supplied value is not defined in the enumeration this throws an exception.

Parameters:
value - enumeration value
Returns:
name for value

getValue

public int getValue(java.lang.String name)
Get value for name if defined.

Parameters:
name - possible enumeration name
Returns:
value for name, or -1 if not found in enumeration

getValueChecked

public int getValueChecked(java.lang.String name)
Get value for name. If the supplied name is not present in the enumeration this throws an exception.

Parameters:
name - enumeration name
Returns:
value for name

checkValue

public void checkValue(int value)
Check value with exception. Throws an exception if the supplied value is not defined by this enumeration.

Parameters:
value -

maxIndex

public int maxIndex()
Get maximum index value in enumeration set.

Returns:
maximum


Project Web Site