Class EnumResolver
- java.lang.Object
-
- com.fasterxml.jackson.databind.util.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
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description 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, java.lang.Class<?> enumCls0)
Deprecated.Since 2.16 useconstructFor(DeserializationConfig, AnnotatedClass)
insteadCompactStringObjectMap
constructLookup()
static EnumResolver
constructUsingEnumNamingStrategy(DeserializationConfig config, AnnotatedClass annotatedClass, EnumNamingStrategy enumNamingStrategy)
Factory method for constructing anEnumResolver
withEnumNamingStrategy
applied.static EnumResolver
constructUsingEnumNamingStrategy(DeserializationConfig config, java.lang.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, java.lang.Class<java.lang.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, java.lang.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, java.lang.Class<?> enumCls0)
Deprecated.Since 2.16 useconstructUsingToString(DeserializationConfig, AnnotatedClass)
insteadjava.lang.Enum<?>
findEnum(java.lang.String key)
java.lang.Enum<?>
getDefaultValue()
java.lang.Enum<?>
getEnum(int index)
java.lang.Class<java.lang.Enum<?>>
getEnumClass()
java.util.Collection<java.lang.String>
getEnumIds()
java.util.List<java.lang.Enum<?>>
getEnums()
java.lang.Enum<?>[]
getRawEnums()
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()
.int
lastValidIndex()
-
-
-
Method Detail
-
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, java.lang.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, java.lang.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, java.lang.Class<java.lang.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, java.lang.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, java.lang.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
public CompactStringObjectMap constructLookup()
-
findEnum
public java.lang.Enum<?> findEnum(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()
-
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
-
-