public class EnumSet
extends java.lang.Object
static final int
values, including
translating them to and from String
representations. It's
intended for use with relatively small nonnegative int values.Modifier and Type | Class and Description |
---|---|
static class |
EnumSet.EnumItem
Enumeration pair information.
|
Modifier and Type | Field and Description |
---|---|
private java.lang.String[] |
m_indexedNames
Enumeration names in index number order.
|
private EnumSet.EnumItem[] |
m_items
Actual item definitions (used for extensions).
|
private int[] |
m_orderedIndexes
Index values corresponding to sorted names.
|
private java.lang.String[] |
m_orderedNames
Enumeration names in sort order.
|
static int |
VALUE_LIMIT
Maximum
int value supported for enumerations. |
Constructor and Description |
---|
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.
|
Modifier and Type | Method and Description |
---|---|
private static EnumSet.EnumItem[] |
buildItems(int start,
java.lang.String[] names)
Generate array of enumeration items from array of names.
|
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.
|
private static EnumSet.EnumItem[] |
mergeItems(EnumSet base,
int start,
java.lang.String[] names)
Generate array of enumeration items from base enumeration and array of
names.
|
public static final int VALUE_LIMIT
int
value supported for enumerations.private final EnumSet.EnumItem[] m_items
private final java.lang.String[] m_indexedNames
private final java.lang.String[] m_orderedNames
private final int[] m_orderedIndexes
public EnumSet(EnumSet.EnumItem[] items)
items
- array of enumeration items (will be reordered)public EnumSet(int start, java.lang.String[] names)
start
- item value for first added namenames
- array of names (no null
entries allowed)public EnumSet(EnumSet base, int start, java.lang.String[] names)
base
- base enumeration to be extendedstart
- item value for first added namenames
- array of names (no null
entries allowed)private static EnumSet.EnumItem[] buildItems(int start, java.lang.String[] names)
start
- item value for first added namenames
- array of names (no null
entries allowed)private static EnumSet.EnumItem[] mergeItems(EnumSet base, int start, java.lang.String[] names)
base
- base enumeration to be extendedstart
- item value for first added namenames
- array of names (no null
entries allowed)public java.lang.String getName(int value)
value
- enumeration valuenull
if not definedpublic java.lang.String getNameChecked(int value)
value
- enumeration valuepublic int getValue(java.lang.String name)
name
- possible enumeration name-1
if not found in enumerationpublic int getValueChecked(java.lang.String name)
name
- enumeration namepublic void checkValue(int value)
value
- public int maxIndex()