Class Enums


  • @GwtCompatible(emulated=true)
    public final class Enums
    extends java.lang.Object
    Utility methods for working with Enum instances.
    Since:
    9.0
    Author:
    Steve McKay
    • 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>>
      Converter<java.lang.String,​T>
      stringConverter​(java.lang.Class<T> enumClass)
      Returns a serializable converter that converts between strings and enum values of type enumClass using Enum.valueOf(Class, String) and Enum.name().
      • Methods inherited from class java.lang.Object

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

      • getField

        @GwtIncompatible
        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
      • 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
      • stringConverter

        public static <T extends java.lang.Enum<T>> Converter<java.lang.String,​T> stringConverter​(java.lang.Class<T> enumClass)
        Returns a serializable converter that converts between strings and 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.
        Since:
        16.0