Package org.apache.commons.lang.enums

## Class EnumUtils

- java.lang.Object
- - org.apache.commons.lang.enums.EnumUtils

-     public class EnumUtils
      extends Object

  Utility class for accessing and manipulating `Enum`s.

  Since:
    2.1 (class existed in enum package from v1.0)
  Version:
    $Id: EnumUtils.java 905636 2010-02-02 14:03:32Z niallp $
  See Also:
    `Enum`, `ValuedEnum`

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `EnumUtils()` | Public constructor.

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static ValuedEnum` | `getEnum​(Class enumClass, int value)` | Gets a `ValuedEnum` object by class and value.
    `static Enum` | `getEnum​(Class enumClass, String name)` | Gets an `Enum` object by class and name.
    `static List` | `getEnumList​(Class enumClass)` | Gets the `List` of `Enum` objects using the `Enum` class.
    `static Map` | `getEnumMap​(Class enumClass)` | Gets the `Map` of `Enum` objects by name using the `Enum` class.
    `static Iterator` | `iterator​(Class enumClass)` | Gets an `Iterator` over the `Enum` objects in an `Enum` class.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### EnumUtils

          public EnumUtils()

      Public constructor. This class should not normally be instantiated.
      Since:
        2.0

  - ### Method Detail

    - #### getEnum

          public static Enum getEnum​(Class enumClass,
                                     String name)

      Gets an `Enum` object by class and name.

      Parameters:
        `enumClass` - the class of the `Enum` to get
        `name` - the name of the Enum to get, may be `null`
      Returns:
        the enum object
      Throws:
        `IllegalArgumentException` - if the enum class is `null`

    - #### getEnum

          public static ValuedEnum getEnum​(Class enumClass,
                                           int value)

      Gets a `ValuedEnum` object by class and value.

      Parameters:
        `enumClass` - the class of the `Enum` to get
        `value` - the value of the `Enum` to get
      Returns:
        the enum object, or null if the enum does not exist
      Throws:
        `IllegalArgumentException` - if the enum class is `null`

    - #### getEnumMap

          public static Map getEnumMap​(Class enumClass)

      Gets the `Map` of `Enum` objects by name using the `Enum` class.

      If the requested class has no enum objects an empty `Map` is returned. The `Map` is unmodifiable.

      Parameters:
        `enumClass` - the class of the `Enum` to get
      Returns:
        the enum object Map
      Throws:
        `IllegalArgumentException` - if the enum class is `null`
        `IllegalArgumentException` - if the enum class is not a subclass of `Enum`

    - #### getEnumList

          public static List getEnumList​(Class enumClass)

      Gets the `List` of `Enum` objects using the `Enum` class.

      The list is in the order that the objects were created (source code order).

      If the requested class has no enum objects an empty `List` is returned. The `List` is unmodifiable.

      Parameters:
        `enumClass` - the class of the Enum to get
      Returns:
        the enum object Map
      Throws:
        `IllegalArgumentException` - if the enum class is `null`
        `IllegalArgumentException` - if the enum class is not a subclass of `Enum`

    - #### iterator

          public static Iterator iterator​(Class enumClass)

      Gets an `Iterator` over the `Enum` objects in an `Enum` class.

      The iterator is in the order that the objects were created (source code order).

      If the requested class has no enum objects an empty `Iterator` is returned. The `Iterator` is unmodifiable.

      Parameters:
        `enumClass` - the class of the `Enum` to get
      Returns:
        an `Iterator` of the `Enum` objects
      Throws:
        `IllegalArgumentException` - if the enum class is `null`
        `IllegalArgumentException` - if the enum class is not a subclass of `Enum`