Class EnumResolver

  • All Implemented Interfaces:
    java.io.Serializable

    public class EnumResolver
    extends java.lang.Object
    implements java.io.Serializable
    Helper class used to resolve String values (either JSON Object field names or regular String values) into Java Enum instances.
    See Also:
    Serialized Form
    • Field Detail

      • _enumClass

        protected final java.lang.Class<java.lang.Enum<?>> _enumClass
      • _enums

        protected final java.lang.Enum<?>[] _enums
      • _enumsById

        protected final java.util.HashMap<java.lang.String,​java.lang.Enum<?>> _enumsById
      • _defaultValue

        protected final java.lang.Enum<?> _defaultValue
      • _isIgnoreCase

        protected final boolean _isIgnoreCase
        Since:
        2.12
    • Constructor Detail

      • EnumResolver

        protected EnumResolver​(java.lang.Class<java.lang.Enum<?>> enumClass,
                               java.lang.Enum<?>[] enums,
                               java.util.HashMap<java.lang.String,​java.lang.Enum<?>> map,
                               java.lang.Enum<?> defaultValue,
                               boolean isIgnoreCase)
        Since:
        2.12
      • EnumResolver

        @Deprecated
        protected EnumResolver​(java.lang.Class<java.lang.Enum<?>> enumClass,
                               java.lang.Enum<?>[] enums,
                               java.util.HashMap<java.lang.String,​java.lang.Enum<?>> map,
                               java.lang.Enum<?> defaultValue)
        Deprecated.
        Since 2.12 (remove from 2.13+ not part of public API)
    • Method Detail

      • constructFor

        public static EnumResolver constructFor​(DeserializationConfig config,
                                                java.lang.Class<?> enumCls)
        Factory method for constructing resolver that maps from Enum.name() into Enum value.
        Since:
        2.12
      • constructUsingToString

        public static EnumResolver constructUsingToString​(DeserializationConfig config,
                                                          java.lang.Class<?> enumCls)
        Factory method for constructing resolver that maps from Enum.toString() into Enum value
        Since:
        2.12
      • _constructUsingToString

        protected static EnumResolver _constructUsingToString​(java.lang.Class<?> enumCls0,
                                                              AnnotationIntrospector ai,
                                                              boolean isIgnoreCase)
        Since:
        2.12
      • constructUsingMethod

        public static EnumResolver constructUsingMethod​(DeserializationConfig config,
                                                        java.lang.Class<?> enumCls,
                                                        AnnotatedMember accessor)
        Method used when actual String serialization is indicated using @JsonValue on a method in Enum class.
        Since:
        2.12
      • _enumClass

        protected static java.lang.Class<java.lang.Enum<?>> _enumClass​(java.lang.Class<?> enumCls0)
      • _enumConstants

        protected static java.lang.Enum<?>[] _enumConstants​(java.lang.Class<?> enumCls)
      • _enumDefault

        protected static java.lang.Enum<?> _enumDefault​(AnnotationIntrospector intr,
                                                        java.lang.Class<?> enumCls)
      • constructUsingToString

        @Deprecated
        public static EnumResolver constructUsingToString​(java.lang.Class<java.lang.Enum<?>> enumCls,
                                                          AnnotationIntrospector ai)
        Deprecated.
        Since 2.12
      • constructUnsafeUsingToString

        @Deprecated
        public static EnumResolver constructUnsafeUsingToString​(java.lang.Class<?> rawEnumCls,
                                                                AnnotationIntrospector ai)
        Deprecated.
        Since 2.12
        Since:
        2.8
      • constructUsingToString

        @Deprecated
        public static EnumResolver constructUsingToString​(java.lang.Class<java.lang.Enum<?>> enumCls)
        Deprecated.
        Since 2.8 (remove from 2.13 or later)
      • findEnum

        public java.lang.Enum<?> findEnum​(java.lang.String key)
      • _findEnumCaseInsensitive

        protected java.lang.Enum<?> _findEnumCaseInsensitive​(java.lang.String key)
      • getEnum

        public java.lang.Enum<?> getEnum​(int index)
      • getDefaultValue

        public java.lang.Enum<?> getDefaultValue()
      • getRawEnums

        public java.lang.Enum<?>[] getRawEnums()
      • getEnums

        public java.util.List<java.lang.Enum<?>> getEnums()
      • getEnumIds

        public java.util.Collection<java.lang.String> getEnumIds()
        Since:
        2.7.3
      • getEnumClass

        public java.lang.Class<java.lang.Enum<?>> getEnumClass()
      • lastValidIndex

        public int lastValidIndex()