Package com.google.common.base
Class Enums
- java.lang.Object
-
- com.google.common.base.Enums
-
public final class Enums extends java.lang.ObjectUtility methods for working withEnuminstances.- Since:
- 9.0
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classEnums.StringConverter<T extends java.lang.Enum<T>>
-
Field Summary
Fields Modifier and Type Field 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
-
Constructor Summary
Constructors Modifier Constructor Description privateEnums()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description (package private) 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)static java.lang.reflect.FieldgetField(java.lang.Enum<?> enumValue)Returns theFieldin whichenumValueis defined.static <T extends java.lang.Enum<T>>
Optional<T>getIfPresent(java.lang.Class<T> enumClass, java.lang.String value)Returns an optional enum constant for the given type, usingEnum.valueOf(java.lang.Class<T>, java.lang.String).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)static <T extends java.lang.Enum<T>>
Converter<java.lang.String,T>stringConverter(java.lang.Class<T> enumClass)Returns a converter that converts between strings andenumvalues of typeenumClassusingEnum.valueOf(Class, String)andEnum.name().
-
-
-
Method Detail
-
getField
public static java.lang.reflect.Field getField(java.lang.Enum<?> enumValue)
Returns theFieldin whichenumValueis defined. For example, to get theDescriptionannotation on theGOLFconstant of enumSport, useEnums.getField(Sport.GOLF).getAnnotation(Description.class).- Since:
- 12.0
-
getIfPresent
public static <T extends java.lang.Enum<T>> Optional<T> getIfPresent(java.lang.Class<T> enumClass, java.lang.String value)
Returns an optional enum constant for the given type, usingEnum.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);- Since:
- 12.0
-
populateCache
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)
-
getEnumConstants
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)
-
stringConverter
public static <T extends java.lang.Enum<T>> Converter<java.lang.String,T> stringConverter(java.lang.Class<T> enumClass)
Returns a converter that converts between strings andenumvalues of typeenumClassusingEnum.valueOf(Class, String)andEnum.name(). The converter will throw anIllegalArgumentExceptionif the argument is not the name of any enum constant in the specified enum.- Since:
- 16.0
-
-