Class EnumSet


  • public class EnumSet
    extends 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
    • 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,
                       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,
                       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 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 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​(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​(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 - Value to check
      • maxIndex

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