@CheckReturnValue @GwtCompatible(emulated=true) @Beta public final class Enums extends java.lang.Object
Enum instances.| Modifier and Type | Method and Description |
|---|---|
static java.lang.reflect.Field |
getField(java.lang.Enum<?> enumValue)
Returns the
Field in which enumValue is defined. |
static <T extends java.lang.Enum<T>> |
getIfPresent(java.lang.Class<T> enumClass,
java.lang.String value)
Returns an optional enum constant for the given type, using
Enum.valueOf(java.lang.Class<T>, java.lang.String). |
static <T extends java.lang.Enum<T>> |
stringConverter(java.lang.Class<T> enumClass)
Returns a converter that converts between strings and
enum values of type
enumClass using Enum.valueOf(Class, String) and Enum.name(). |
@GwtIncompatible(value="reflection") public static java.lang.reflect.Field getField(java.lang.Enum<?> enumValue)
Field in which enumValue is defined. For example, to get the
Description annotation on the GOLF constant of enum Sport, use
Enums.getField(Sport.GOLF).getAnnotation(Description.class).public static <T extends java.lang.Enum<T>> Optional<T> getIfPresent(java.lang.Class<T> enumClass, java.lang.String value)
Enum.valueOf(java.lang.Class<T>, java.lang.String). If the
constant does not exist, Optional.absent() is returned. A common use case is for parsing
user input or falling back to a default enum constant. For example,
Enums.getIfPresent(Country.class, countryInput).or(Country.DEFAULT);public static <T extends java.lang.Enum<T>> Converter<java.lang.String,T> stringConverter(java.lang.Class<T> enumClass)
enum values of type
enumClass using Enum.valueOf(Class, String) and Enum.name(). The
converter will throw an IllegalArgumentException if the argument is not the name of
any enum constant in the specified enum.