Class Enums


  • @GwtCompatible(emulated=true)
    @Beta
    public final class Enums
    extends java.lang.Object
    Utility methods for working with Enum instances.
    Since:
    9.0
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method 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>>
      Optional<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>>
      Function<java.lang.String,​T>
      valueOfFunction​(java.lang.Class<T> enumClass)
      Returns a Function that maps an Enum name to the associated Enum constant.
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • getField

        @GwtIncompatible("reflection")
        public static java.lang.reflect.Field getField​(java.lang.Enum<?> enumValue)
        Returns the 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).
        Since:
        12.0
      • valueOfFunction

        public static <T extends java.lang.Enum<T>> Function<java.lang.String,​T> valueOfFunction​(java.lang.Class<T> enumClass)
        Returns a Function that maps an Enum name to the associated Enum constant. The Function will return null if the Enum constant does not exist.
        Parameters:
        enumClass - the Class of the Enum declaring the constant values.
      • 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, using 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);
        Since:
        12.0