public class EnumUtils extends 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 Enum<E>> | generateBitVector(Class<E> enumClass,
                 E... values)Creates a long bit vector representation of the given array of Enum values. | 
| static <E extends Enum<E>> | generateBitVector(Class<E> enumClass,
                 Iterable<? extends E> values)Creates a long bit vector representation of the given subset of an Enum. | 
| static <E extends Enum<E>> | generateBitVectors(Class<E> enumClass,
                  E... values)Creates a bit vector representation of the given subset of an Enum using as many  longs as needed. | 
| static <E extends Enum<E>> | generateBitVectors(Class<E> enumClass,
                  Iterable<? extends E> values)Creates a bit vector representation of the given subset of an Enum using as many  longs as needed. | 
| static <E extends Enum<E>> | getEnum(Class<E> enumClass,
       String enumName)Gets the enum for the class, returning  nullif not found. | 
| static <E extends Enum<E>> | getEnumList(Class<E> enumClass)Gets the  Listof enums. | 
| static <E extends Enum<E>> | getEnumMap(Class<E> enumClass)Gets the  Mapof enums by name. | 
| static <E extends Enum<E>> | isValidEnum(Class<E> enumClass,
           String enumName)Checks if the specified name is a valid enum for the class. | 
| static <E extends Enum<E>> | processBitVector(Class<E> enumClass,
                long value)Convert a long value created by  generateBitVector(java.lang.Class<E>, java.lang.Iterable<? extends E>)into the set of
 enum values that it represents. | 
| static <E extends Enum<E>> | processBitVectors(Class<E> enumClass,
                 long... values)Convert a  long[]created bygenerateBitVectors(java.lang.Class<E>, java.lang.Iterable<? extends E>)into the set of
 enum values that it represents. | 
public EnumUtils()
public static <E extends Enum<E>> Map<String,E> getEnumMap(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 Enum<E>> List<E> getEnumList(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 Enum<E>> boolean isValidEnum(Class<E> enumClass, String enumName)
Checks if the specified name is a valid enum for the class.
This method differs from Enum.valueOf(java.lang.Class<T>, java.lang.String) 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 Enum<E>> E getEnum(Class<E> enumClass, String enumName)
Gets the enum for the class, returning null if not found.
This method differs from Enum.valueOf(java.lang.Class<T>, java.lang.String) 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 Enum<E>> long generateBitVector(Class<E> enumClass, Iterable<? extends 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<E>, long).
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 nullvalues - the values we want to convert, not null, neither containing nullNullPointerException - if enumClass or values is nullIllegalArgumentException - if enumClass is not an enum class or has more than 64 values,
                                  or if any values nullgenerateBitVectors(Class, Iterable)public static <E extends Enum<E>> long[] generateBitVectors(Class<E> enumClass, Iterable<? extends E> values)
Creates a bit vector representation of the given subset of an Enum using as many longs as needed.
This generates a value that is usable by processBitVectors(java.lang.Class<E>, long...).
Use this method if you have more than 64 values in your Enum.
E - the type of the enumerationenumClass - the class of the enum we are working with, not nullvalues - the values we want to convert, not null, neither containing nullNullPointerException - if enumClass or values is nullIllegalArgumentException - if enumClass is not an enum class, or if any values nullpublic static <E extends Enum<E>> long generateBitVector(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<E>, long).
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 nullvalues - the values we want to convert, not nullNullPointerException - if enumClass or values is nullIllegalArgumentException - if enumClass is not an enum class or has more than 64 valuesgenerateBitVectors(Class, Iterable)public static <E extends Enum<E>> long[] generateBitVectors(Class<E> enumClass, E... values)
Creates a bit vector representation of the given subset of an Enum using as many longs as needed.
This generates a value that is usable by processBitVectors(java.lang.Class<E>, long...).
Use this method if you have more than 64 values in your Enum.
E - the type of the enumerationenumClass - the class of the enum we are working with, not nullvalues - the values we want to convert, not null, neither containing nullNullPointerException - if enumClass or values is nullIllegalArgumentException - if enumClass is not an enum class, or if any values nullpublic static <E extends Enum<E>> EnumSet<E> processBitVector(Class<E> enumClass, long value)
Convert a long value created by generateBitVector(java.lang.Class<E>, java.lang.Iterable<? extends E>) 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 nullvalue - the long value representation of a set of enum valuesNullPointerException - if enumClass is nullIllegalArgumentException - if enumClass is not an enum class or has more than 64 valuespublic static <E extends Enum<E>> EnumSet<E> processBitVectors(Class<E> enumClass, long... values)
Convert a long[] created by generateBitVectors(java.lang.Class<E>, java.lang.Iterable<? extends E>) 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 nullvalues - the long[] bearing the representation of a set of enum values, least significant digits rightmost, not nullNullPointerException - if enumClass is nullIllegalArgumentException - if enumClass is not an enum classCopyright © 2001–2016 The Apache Software Foundation. All rights reserved.