java.lang.Object
tools.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 booleanMarker for case where enum values to match are from@JsonValue-annotated method.protected final booleanMarker for case where value may come from@JsonValueannotated accessor and is expected/likely to come from actual integral number value (and not String).protected final booleanMarker for case-insensitive handling -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription_enumClass(Class<?> cls) protected static Enum<?>[]_enumConstants(Class<Enum<?>> enumCls) protected static Enum<?>_enumDefault(MapperConfig<?> config, AnnotatedClass annotatedClass, Enum<?>[] enums) Internal helper method used to resolveJsonEnumDefaultValueprotected static boolean_isIntType(Class<?> erasedType) static EnumResolverconstructFor(DeserializationConfig config, AnnotatedClass annotatedClass) Factory method for constructing anEnumResolverbased on the givenDeserializationConfigandAnnotatedClassof the enum to be resolved.static EnumResolverconstructUsingEnumNamingStrategy(DeserializationConfig config, AnnotatedClass annotatedClass, EnumNamingStrategy enumNamingStrategy) Factory method for constructing anEnumResolverwithEnumNamingStrategyapplied.static EnumResolverconstructUsingIndex(DeserializationConfig config, AnnotatedClass annotatedClass) Factory method for constructing resolver that maps from index of Enum.values() into Enum value.static EnumResolverconstructUsingMethod(DeserializationConfig config, AnnotatedClass annotatedClass, AnnotatedMember accessor) Method used when actual String serialization is indicated using @JsonValue on a method in Enum class.static EnumResolverconstructUsingToString(DeserializationConfig config, AnnotatedClass annotatedClass) Factory method for constructing resolver that maps from Enum.toString() into Enum valueEnum<?>Enum<?>Enum<?>getEnum(int index) getEnums()Enum<?>[]booleanAccessor for checking whether@JsonValueannotated accessor is used to get enum values to use for deserialization.booleanAccessor for checking if we have a special case in which value to map is from@JsonValueannotated 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 -
_isFromIntValue
protected final boolean _isFromIntValueMarker for case where value may come from@JsonValueannotated 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. -
_hasAsValueAnnotation
protected final boolean _hasAsValueAnnotationMarker for case where enum values to match are from@JsonValue-annotated method.- Since:
- 2.20
-
-
Constructor Details
-
EnumResolver
-
-
Method Details
-
constructFor
public static EnumResolver constructFor(DeserializationConfig config, AnnotatedClass annotatedClass) Factory method for constructing anEnumResolverbased on the givenDeserializationConfigandAnnotatedClassof 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
-
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
-
constructUsingIndex
public static EnumResolver constructUsingIndex(DeserializationConfig config, AnnotatedClass annotatedClass) Factory method for constructing resolver that maps from index of Enum.values() into Enum value. -
constructUsingEnumNamingStrategy
public static EnumResolver constructUsingEnumNamingStrategy(DeserializationConfig config, AnnotatedClass annotatedClass, EnumNamingStrategy enumNamingStrategy) Factory method for constructing anEnumResolverwithEnumNamingStrategyapplied.- Since:
- 2.16
-
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. -
_enumClass
-
_enumConstants
-
constructLookup
-
_enumDefault
protected static Enum<?> _enumDefault(MapperConfig<?> config, AnnotatedClass annotatedClass, Enum<?>[] enums) Internal helper method used to resolveJsonEnumDefaultValue- Since:
- 2.16
-
_isIntType
-
findEnum
-
getEnum
-
getDefaultValue
-
getRawEnums
-
getEnums
-
getEnumIds
-
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@JsonValueannotated 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(). -
hasAsValueAnnotation
public boolean hasAsValueAnnotation()Accessor for checking whether@JsonValueannotated accessor is used to get enum values to use for deserialization.
-