org.apache.commons.lang3
public class EnumUtils extends java.lang.Object
Utility library to provide helper methods for Java enums.
#ThreadSafe#
Constructor and Description |
---|
EnumUtils()
This constructor is public to permit tools that require a JavaBean
instance to operate.
|
Modifier and Type | Method and Description |
---|---|
static <E extends java.lang.Enum<E>> |
generateBitVector(java.lang.Class<E> enumClass,
E... values)
Creates a long bit vector representation of the given array of Enum values.
|
static <E extends java.lang.Enum<E>> |
generateBitVector(java.lang.Class<E> enumClass,
java.lang.Iterable<E> values)
Creates a long bit vector representation of the given subset of an Enum.
|
static <E extends java.lang.Enum<E>> |
getEnum(java.lang.Class<E> enumClass,
java.lang.String enumName)
Gets the enum for the class, returning
null if not found. |
static <E extends java.lang.Enum<E>> |
getEnumList(java.lang.Class<E> enumClass)
Gets the
List of enums. |
static <E extends java.lang.Enum<E>> |
getEnumMap(java.lang.Class<E> enumClass)
Gets the
Map of enums by name. |
static <E extends java.lang.Enum<E>> |
isValidEnum(java.lang.Class<E> enumClass,
java.lang.String enumName)
Checks if the specified name is a valid enum for the class.
|
static <E extends java.lang.Enum<E>> |
processBitVector(java.lang.Class<E> enumClass,
long value)
Convert a long value created by
generateBitVector(java.lang.Class into the set of
enum values that it represents. |
public EnumUtils()
public static <E extends java.lang.Enum<E>> java.util.Map<java.lang.String,E> getEnumMap(java.lang.Class<E> enumClass)
Gets the Map
of enums by name.
This method is useful when you need a map of enums by name.
E
- the type of the enumerationenumClass
- the class of the enum to query, not nullpublic static <E extends java.lang.Enum<E>> java.util.List<E> getEnumList(java.lang.Class<E> enumClass)
Gets the List
of enums.
This method is useful when you need a list of enums rather than an array.
E
- the type of the enumerationenumClass
- the class of the enum to query, not nullpublic static <E extends java.lang.Enum<E>> boolean isValidEnum(java.lang.Class<E> enumClass, java.lang.String enumName)
Checks if the specified name is a valid enum for the class.
This method differs from Enum.valueOf(java.lang.Class
in that checks if the name is
a valid enum without needing to catch the exception.
E
- the type of the enumerationenumClass
- the class of the enum to query, not nullenumName
- the enum name, null returns falsepublic static <E extends java.lang.Enum<E>> E getEnum(java.lang.Class<E> enumClass, java.lang.String enumName)
Gets the enum for the class, returning null
if not found.
This method differs from Enum.valueOf(java.lang.Class
in that it does not throw an exception
for an invalid enum name.
E
- the type of the enumerationenumClass
- the class of the enum to query, not nullenumName
- the enum name, null returns nullpublic static <E extends java.lang.Enum<E>> long generateBitVector(java.lang.Class<E> enumClass, java.lang.Iterable<E> values)
Creates a long bit vector representation of the given subset of an Enum.
This generates a value that is usable by processBitVector(java.lang.Class
.
Do not use this method if you have more than 64 values in your Enum, as this would create a value greater than a long can hold.
E
- the type of the enumerationenumClass
- the class of the enum we are working with, not null
values
- the values we want to convert, not null
java.lang.NullPointerException
- if enumClass
or values
is null
java.lang.IllegalArgumentException
- if enumClass
is not an enum class or has more than 64 valuespublic static <E extends java.lang.Enum<E>> long generateBitVector(java.lang.Class<E> enumClass, E... values)
Creates a long bit vector representation of the given array of Enum values.
This generates a value that is usable by processBitVector(java.lang.Class
.
Do not use this method if you have more than 64 values in your Enum, as this would create a value greater than a long can hold.
E
- the type of the enumerationenumClass
- the class of the enum we are working with, not null
values
- the values we want to convert, not null
java.lang.NullPointerException
- if enumClass
or values
is null
java.lang.IllegalArgumentException
- if enumClass
is not an enum class or has more than 64 valuespublic static <E extends java.lang.Enum<E>> java.util.EnumSet<E> processBitVector(java.lang.Class<E> enumClass, long value)
Convert a long value created by generateBitVector(java.lang.Class
into the set of
enum values that it represents.
If you store this value, beware any changes to the enum that would affect ordinal values.
E
- the type of the enumerationenumClass
- the class of the enum we are working with, not null
value
- the long value representation of a set of enum valuesjava.lang.NullPointerException
- if enumClass
is null
java.lang.IllegalArgumentException
- if enumClass
is not an enum class or has more than 64 valuesCopyright © 2001-2014. All Rights Reserved.