## com.google.common.base
Class Enums

    java.lang.Object
      com.google.common.base.Enums

    @GwtCompatible(emulated=true)
    @Beta
    public final class Enums

extends Object

Utility methods for working with `Enum` instances.

Since:
  9.0
Author:
  Steve McKay

Method Summary
`static Field` `getField(Enum<?> enumValue)` Returns the `Field` in which `enumValue` is defined.

`static

`<T extends Enum<T>> Optional<T>`

`

`getIfPresent(Class<T> enumClass, String value)`
Returns an optional enum constant for the given type, using `Enum.valueOf(java.lang.Class<T>, java.lang.String)`.

`static

`<T extends Enum<T>> Function<String,T>`

`

`valueOfFunction(Class<T> enumClass)`
Returns a `Function` that maps an `Enum` name to the associated `Enum` constant.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Method Detail

### getField

    @GwtIncompatible(value="reflection")
    public static Field getField(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 Enum<T>> Function<String,T> valueOfFunction(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 Enum<T>> Optional<T> getIfPresent(Class<T> enumClass,
                                                               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

Copyright © 2010-2012. All Rights Reserved.