Class EnumResolver
java.lang.Object
com.fasterxml.jackson.databind.util.EnumResolver
- All Implemented Interfaces:
Serializable
Helper class used to resolve String values (either JSON Object field
names or regular String values) into Java Enum instances.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final Enum
<?> protected final Enum<?>[]
protected final boolean
Marker for case where value may come from@JsonValue
annotated accessor and is expected/likely to come from actual integral number value (and not String).protected final boolean
Marker for case-insensitive handling -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription_enumClass
(Class<?> enumCls0) protected static Enum<?>[]
_enumConstants
(Class<?> enumCls) protected static Enum
<?> _enumDefault
(AnnotationIntrospector intr, AnnotatedClass annotatedClass, Enum<?>[] enums) Internal helper method used to resolve Enum default value to use (if any).protected static Enum
<?> _enumDefault
(AnnotationIntrospector intr, Class<?> enumCls) Deprecated.Since 2.16.protected Enum
<?> protected static boolean
_isIntType
(Class<?> erasedType) static EnumResolver
constructFor
(DeserializationConfig config, AnnotatedClass annotatedClass) Factory method for constructing anEnumResolver
based on the givenDeserializationConfig
andAnnotatedClass
of the enum to be resolved.static EnumResolver
constructFor
(DeserializationConfig config, Class<?> enumCls0) Deprecated.Since 2.16 useconstructFor(DeserializationConfig, AnnotatedClass)
insteadstatic EnumResolver
constructUsingEnumNamingStrategy
(DeserializationConfig config, AnnotatedClass annotatedClass, EnumNamingStrategy enumNamingStrategy) Factory method for constructing anEnumResolver
withEnumNamingStrategy
applied.static EnumResolver
constructUsingEnumNamingStrategy
(DeserializationConfig config, Class<?> enumCls0, EnumNamingStrategy enumNamingStrategy) Deprecated.Since 2.16.static EnumResolver
constructUsingIndex
(DeserializationConfig config, AnnotatedClass annotatedClass) Factory method for constructing resolver that maps from index of Enum.values() into Enum value.static EnumResolver
constructUsingIndex
(DeserializationConfig config, Class<Enum<?>> enumCls0) Deprecated.Since 2.16.static EnumResolver
constructUsingMethod
(DeserializationConfig config, AnnotatedClass annotatedClass, AnnotatedMember accessor) Method used when actual String serialization is indicated using @JsonValue on a method in Enum class.static EnumResolver
constructUsingMethod
(DeserializationConfig config, Class<?> enumCls0, AnnotatedMember accessor) Deprecated.Since 2.16.static EnumResolver
constructUsingToString
(DeserializationConfig config, AnnotatedClass annotatedClass) Factory method for constructing resolver that maps from Enum.toString() into Enum valuestatic EnumResolver
constructUsingToString
(DeserializationConfig config, Class<?> enumCls0) Deprecated.Since 2.16 useconstructUsingToString(DeserializationConfig, AnnotatedClass)
insteadEnum
<?> Enum
<?> Enum
<?> getEnum
(int index) getEnums()
Enum<?>[]
boolean
Accessor for checking if we have a special case in which value to map is from@JsonValue
annotated accessor with integral type: this matters for cases where incoming content value is of integral type and should be mapped to specific value and NOT toEnum.index()
.int
-
Field Details
-
_enumClass
-
_enums
-
_enumsById
-
_defaultValue
-
_isIgnoreCase
protected final boolean _isIgnoreCaseMarker for case-insensitive handling- Since:
- 2.12
-
_isFromIntValue
protected final boolean _isFromIntValueMarker for case where value may come from@JsonValue
annotated accessor and is expected/likely to come from actual integral number value (and not String).Special case is needed since this specifically means that
Enum.index()
should NOT be used or default to.- Since:
- 2.13
-
-
Constructor Details
-
Method Details
-
constructFor
public static EnumResolver constructFor(DeserializationConfig config, AnnotatedClass annotatedClass) Factory method for constructing anEnumResolver
based on the givenDeserializationConfig
andAnnotatedClass
of the enum to be resolved.- Parameters:
config
- the deserialization configuration to useannotatedClass
- the annotated class of the enum to be resolved- Returns:
- the constructed
EnumResolver
- Since:
- 2.16
-
constructFor
@Deprecated public static EnumResolver constructFor(DeserializationConfig config, Class<?> enumCls0) Deprecated.Since 2.16 useconstructFor(DeserializationConfig, AnnotatedClass)
insteadFactory method for constructing resolver that maps from Enum.name() into Enum value.- Since:
- 2.12
-
constructUsingToString
public static EnumResolver constructUsingToString(DeserializationConfig config, AnnotatedClass annotatedClass) Factory method for constructing resolver that maps from Enum.toString() into Enum value- Since:
- 2.16
-
constructUsingToString
@Deprecated public static EnumResolver constructUsingToString(DeserializationConfig config, Class<?> enumCls0) Deprecated.Since 2.16 useconstructUsingToString(DeserializationConfig, AnnotatedClass)
insteadFactory method for constructing resolver that maps from Enum.toString() into Enum value- Since:
- 2.12
-
constructUsingIndex
public static EnumResolver constructUsingIndex(DeserializationConfig config, AnnotatedClass annotatedClass) Factory method for constructing resolver that maps from index of Enum.values() into Enum value.- Since:
- 2.16
-
constructUsingIndex
@Deprecated public static EnumResolver constructUsingIndex(DeserializationConfig config, Class<Enum<?>> enumCls0) Deprecated.Since 2.16. UseconstructUsingIndex(DeserializationConfig, AnnotatedClass)
instead.Factory method for constructing resolver that maps from index of Enum.values() into Enum value- Since:
- 2.15
-
constructUsingEnumNamingStrategy
@Deprecated public static EnumResolver constructUsingEnumNamingStrategy(DeserializationConfig config, Class<?> enumCls0, EnumNamingStrategy enumNamingStrategy) Deprecated.Factory method for constructing resolver that maps the name of enums converted to external property names into Enum value using an implementation ofEnumNamingStrategy
. The outputEnumResolver
should contain values that are symmetric toEnumValues.constructUsingEnumNamingStrategy(MapperConfig, Class, EnumNamingStrategy)
.- Since:
- 2.15
-
constructUsingEnumNamingStrategy
public static EnumResolver constructUsingEnumNamingStrategy(DeserializationConfig config, AnnotatedClass annotatedClass, EnumNamingStrategy enumNamingStrategy) Factory method for constructing anEnumResolver
withEnumNamingStrategy
applied.- Since:
- 2.16
-
constructUsingMethod
@Deprecated public static EnumResolver constructUsingMethod(DeserializationConfig config, Class<?> enumCls0, AnnotatedMember accessor) Deprecated.Since 2.16. UseconstructUsingMethod(DeserializationConfig, AnnotatedClass, AnnotatedMember)
instead.Method used when actual String serialization is indicated using @JsonValue on a method in Enum class.- Since:
- 2.12
-
constructUsingMethod
public static EnumResolver constructUsingMethod(DeserializationConfig config, AnnotatedClass annotatedClass, AnnotatedMember accessor) Method used when actual String serialization is indicated using @JsonValue on a method in Enum class.- Since:
- 2.16
-
constructLookup
-
_enumClass
-
_enumConstants
-
_enumDefault
protected static Enum<?> _enumDefault(AnnotationIntrospector intr, AnnotatedClass annotatedClass, Enum<?>[] enums) Internal helper method used to resolve Enum default value to use (if any).- Since:
- 2.16
- See Also:
-
_enumDefault
Deprecated.Since 2.16. Use_enumDefault(AnnotationIntrospector, AnnotatedClass, Enum[])
instead. -
_isIntType
-
findEnum
-
_findEnumCaseInsensitive
-
getEnum
-
getDefaultValue
-
getRawEnums
-
getEnums
-
getEnumIds
- Since:
- 2.7.3
-
getEnumClass
-
lastValidIndex
public int lastValidIndex() -
isFromIntValue
public boolean isFromIntValue()Accessor for checking if we have a special case in which value to map is from@JsonValue
annotated accessor with integral type: this matters for cases where incoming content value is of integral type and should be mapped to specific value and NOT toEnum.index()
.- Since:
- 2.13
-