public final class Enums extends Object
| Modifier and Type | Class and Description |
|---|---|
static interface |
Enums.EnumParser<E extends Enum>
Single abstract method interface for parsing enum
constant values from strings.
|
static interface |
Enums.StringProducer<E extends Enum>
Single abstract method interface for converting Enum
constant values to strings.
|
| Constructor and Description |
|---|
Enums() |
| Modifier and Type | Method and Description |
|---|---|
static <E extends Enum> |
createDisplayNameMap(Class<E> enumClass)
Convenience method for creating String -> enum map where the String keys
are produced by calling the displayName() method on each enum constant.
|
static <E extends Enum> |
createStringKeyMap(Class<E> enumClass,
Enums.StringProducer<E> keyProducer)
Returns a map of String -> enum constant for all constants
in the provided enum class.
|
static <E extends Enum> |
displayNameEnumParser(Class<E> enumClass)
Returns an EnumParser that converts String values to enum constants by
calling valueOfDisplayName() on the enum class.
|
static <E extends Enum> |
displayNameStringProducer(Class<E> enumClass)
Returns a StringProducer that converts enum constants to String values by
calling displayName() on each enum constant.
|
static <E extends Enum> |
methodNameEnumParser(Class<E> enumClass,
String methodName)
Returns an EnumParser that uses reflection to invoke a method
on an enum class to translate String values to enum constants.
|
static <E extends Enum> |
methodNameStringProducer(Class<E> enumClass,
String methodName)
Returns a StringProducer uses reflection to produce Strings from
enum constant values.
|
static <E extends Enum> |
parseDisplayNameEnumRequestParameter(javax.faces.context.ExternalContext external,
String paramName,
Class<E> enumClass,
E defaultValue)
Convenience for Enums.parseEnumRequestParameter() that uses a display name-based
EnumParser to parse values.
|
static <E extends Enum> |
parseEnumRequestParameter(javax.faces.context.ExternalContext external,
String paramName,
Class<E> enumClass,
Enums.EnumParser<E> enumParser,
E defaultValue)
Parses a request parameter into a collection of enum constant values.
|
static <E extends Enum> |
parseEnumValues(Collection<String> valuesToParse,
Class<E> enumClass,
Enums.EnumParser<E> enumParser,
E defaultValue)
Parses a collection of strings into a corresponding collection
of enum constant values.
|
static <E extends Enum> |
patternOf(Class<E> enumClass,
Enums.StringProducer<E> patternProducer)
Returns a string suitable for use in a regular expression
pattern that matches all values of the specified enum.
|
static <T extends Enum> |
stringToEnum(Map<String,T> stringToEnumMap,
String key,
Class<T> enumClass)
Looks up an Enum value in a String -> Enum map and
throws an IllegalArgumentException if a value
is not found.
|
public static <E extends Enum> Map<String,E> createStringKeyMap(Class<E> enumClass, Enums.StringProducer<E> keyProducer)
enumClass - the enum class from which the map will be createdkeyProducer - called for each enum constant to produce the string
key for the map.public static <T extends Enum> T stringToEnum(Map<String,T> stringToEnumMap, String key, Class<T> enumClass)
stringToEnumMap - the map containing String -> enum mappingskey - the string value to look up in the mapenumClass - the target enum classIllegalArgumentException - if no value is found.public static <E extends Enum> String patternOf(Class<E> enumClass, Enums.StringProducer<E> patternProducer)
enumClass - the enum class from which the pattern
will be derived.patternProducer - called for each enum constant value
to produce the string representation to use in the pattern.public static <E extends Enum> Collection<E> parseEnumValues(Collection<String> valuesToParse, Class<E> enumClass, Enums.EnumParser<E> enumParser, E defaultValue) throws EnumParseException
valuesToParse - string values to parseenumClass - target enum classdefaultValue - an enum value to include in the parsed collection if
valueToParse is empty.enumParser - called for each string value to convert to an enum constant.EnumParseException - if the EnumParser fails to parse one of the values.public static <E extends Enum> Collection<E> parseEnumRequestParameter(javax.faces.context.ExternalContext external, String paramName, Class<E> enumClass, Enums.EnumParser<E> enumParser, E defaultValue) throws EnumParseException
external - the ExternalContext that defines the request parameter valuesparamName - the name of the request parameter to parseenumClass - target enum classdefaultValue - an enum value to include in the parsed collection if
valuesToParse is empty.enumParser - called for each string value to convert to an enum constant.EnumParseException - if the EnumParser fails to parse one of the values.public static <E extends Enum> Map<String,E> createDisplayNameMap(Class<E> enumClass)
public static <E extends Enum> Enums.StringProducer<E> displayNameStringProducer(Class<E> enumClass) throws IllegalArgumentException
enumClass - the class of the enum for which we want to produce strings. This
class must provide a public displayName() method.IllegalArgumentException - if the enum class does not provide a publicly
accessible displayName() method.public static <E extends Enum> Enums.EnumParser<E> displayNameEnumParser(Class<E> enumClass)
enumClass - the target class to which String values are parsed. This
class must provide a public static valueOfDisplayName(String) method.IllegalArgumentException - if the enum class does not provide a publicly
accessible valueOfDisplayName(String) method.public static <E extends Enum> Enums.StringProducer<E> methodNameStringProducer(Class<E> enumClass, String methodName) throws IllegalArgumentException
enumClass - the enum class on which the StringProducer operatesmethodName - the name of the method which the StringProducer invokesIllegalArgumentException - if the method specified by the
methodName argument does not exist.public static <E extends Enum> Enums.EnumParser<E> methodNameEnumParser(Class<E> enumClass, String methodName) throws IllegalArgumentException
enumClass - the target enum classmethodName - the name of the method to invokeIllegalArgumentException - if the method specified by the
methodName argument does not exist.public static <E extends Enum> Collection<E> parseDisplayNameEnumRequestParameter(javax.faces.context.ExternalContext external, String paramName, Class<E> enumClass, E defaultValue) throws EnumParseException
Copyright © 2001-2017 The Apache Software Foundation. All Rights Reserved.