EnumResolver (Jackson JSON Processor)
Date: 2013-07-14

org.codehaus.jackson.map.util

## Class EnumResolver<T extends Enum<T>>

- java.lang.Object
- - org.codehaus.jackson.map.util.EnumResolver<T>

- Direct Known Subclasses:
    EnumResolver

      public class EnumResolver<T extends Enum<T>>
      extends Object

  Helper class used to resolve String values (either JSON Object field names or regular String values) into Java Enum instances.
  Since:
    1.9 renamed from 'org.codehaus.jackson.map.deser.EnumResolver'

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected Class<T>` | `_enumClass`
    `protected T[]` | `_enums`
    `protected HashMap<String,T>` | `_enumsById`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `EnumResolver(Class<T> enumClass, T[] enums, HashMap<String,T> map)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `static <ET extends Enum<ET>> EnumResolver<ET>` | `constructFor(Class<ET> enumCls, AnnotationIntrospector ai)` Factory method for constructing resolver that maps from Enum.name() into Enum value
    `static EnumResolver<?>` | `constructUnsafe(Class<?> rawEnumCls, AnnotationIntrospector ai)` This method is needed because of the dynamic nature of constructing Enum resolvers.
    `static EnumResolver<?>` | `constructUnsafeUsingToString(Class<?> rawEnumCls)` Method that needs to be used instead of `constructUsingToString(java.lang.Class<ET>)` if static type of enum is not known.
    `static <ET extends Enum<ET>> EnumResolver<ET>` | `constructUsingToString(Class<ET> enumCls)` Factory method for constructing resolver that maps from Enum.toString() into Enum value
    `T` | `findEnum(String key)`
    `T` | `getEnum(int index)`
    `Class<T>` | `getEnumClass()`
    `int` | `lastValidIndex()`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### _enumClass

          protected final Class<T extends Enum<T>> _enumClass

    - #### _enums

          protected final T extends Enum<T>[] _enums

    - #### _enumsById

          protected final HashMap<String,T extends Enum<T>> _enumsById

  - ### Constructor Detail

    - #### EnumResolver

          protected EnumResolver(Class<T> enumClass,
                      T[] enums,
                      HashMap<String,T> map)

  - ### Method Detail

    - #### constructFor

          public static <ET extends Enum<ET>> EnumResolver<ET> constructFor(Class<ET> enumCls,
                                                            AnnotationIntrospector ai)

      Factory method for constructing resolver that maps from Enum.name() into Enum value

    - #### constructUsingToString

          public static <ET extends Enum<ET>> EnumResolver<ET> constructUsingToString(Class<ET> enumCls)

      Factory method for constructing resolver that maps from Enum.toString() into Enum value
      Since:
        1.6

    - #### constructUnsafe

          public static EnumResolver<?> constructUnsafe(Class<?> rawEnumCls,
                                        AnnotationIntrospector ai)

      This method is needed because of the dynamic nature of constructing Enum resolvers.

    - #### constructUnsafeUsingToString

          public static EnumResolver<?> constructUnsafeUsingToString(Class<?> rawEnumCls)

      Method that needs to be used instead of `constructUsingToString(java.lang.Class<ET>)` if static type of enum is not known.
      Since:
        1.6

    - #### findEnum

          public T findEnum(String key)

    - #### getEnum

          public T getEnum(int index)

    - #### getEnumClass

          public Class<T> getEnumClass()

    - #### lastValidIndex

          public int lastValidIndex()