Package org.jibx.runtime
Class EnumSet
java.lang.Object
org.jibx.runtime.EnumSet
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
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final String[]
Enumeration names in index number order.private final EnumSet.EnumItem[]
Actual item definitions (used for extensions).private final int[]
Index values corresponding to sorted names.private final String[]
Enumeration names in sort order.static final int
Maximumint
value supported for enumerations. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static EnumSet.EnumItem[]
buildItems
(int start, String[] names) Generate array of enumeration items from array of names.void
checkValue
(int value) Check value with exception.getName
(int value) Get name for value if defined.getNameChecked
(int value) Get name for value.int
Get value for name if defined.int
getValueChecked
(String name) Get value for name.int
maxIndex()
Get maximum index value in enumeration set.private static EnumSet.EnumItem[]
mergeItems
(EnumSet base, int start, String[] names) Generate array of enumeration items from base enumeration and array of names.
-
Field Details
-
VALUE_LIMIT
public static final int VALUE_LIMITMaximumint
value supported for enumerations.- See Also:
-
m_items
Actual item definitions (used for extensions). -
m_indexedNames
Enumeration names in index number order. -
m_orderedNames
Enumeration names in sort order. -
m_orderedIndexes
private final int[] m_orderedIndexesIndex values corresponding to sorted names.
-
-
Constructor Details
-
EnumSet
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
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 namenames
- array of names (nonull
entries allowed)
-
EnumSet
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 extendedstart
- item value for first added namenames
- array of names (nonull
entries allowed)
-
-
Method Details
-
buildItems
Generate array of enumeration items 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 namenames
- array of names (nonull
entries allowed)
-
mergeItems
Generate array of enumeration items from base enumeration and array of 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 extendedstart
- item value for first added namenames
- array of names (nonull
entries allowed)
-
getName
Get name for value if defined.- Parameters:
value
- enumeration value- Returns:
- name for value, or
null
if not defined
-
getNameChecked
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
Get value for name if defined.- Parameters:
name
- possible enumeration name- Returns:
- value for name, or
-1
if not found in enumeration
-
getValueChecked
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
-