@GwtCompatible(emulated=true) public final class Enums extends java.lang.Object
Enum
instances.Modifier and Type | Class and Description |
---|---|
private static class |
Enums.StringConverter<T extends java.lang.Enum<T>> |
Modifier and Type | Field and Description |
---|---|
private static java.util.Map<java.lang.Class<? extends java.lang.Enum<?>>,java.util.Map<java.lang.String,java.lang.ref.WeakReference<? extends java.lang.Enum<?>>>> |
enumConstantCache |
Modifier | Constructor and Description |
---|---|
private |
Enums() |
Modifier and Type | Method and Description |
---|---|
(package private) static <T extends java.lang.Enum<T>> |
getEnumConstants(java.lang.Class<T> enumClass) |
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) . |
private static <T extends java.lang.Enum<T>> |
populateCache(java.lang.Class<T> enumClass) |
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 private static final java.util.Map<java.lang.Class<? extends java.lang.Enum<?>>,java.util.Map<java.lang.String,java.lang.ref.WeakReference<? extends java.lang.Enum<?>>>> enumConstantCache
@GwtIncompatible 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);
@GwtIncompatible private static <T extends java.lang.Enum<T>> java.util.Map<java.lang.String,java.lang.ref.WeakReference<? extends java.lang.Enum<?>>> populateCache(java.lang.Class<T> enumClass)
@GwtIncompatible static <T extends java.lang.Enum<T>> java.util.Map<java.lang.String,java.lang.ref.WeakReference<? extends java.lang.Enum<?>>> getEnumConstants(java.lang.Class<T> enumClass)
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.