Top Description Inners Methods
com.fasterxml.jackson.databind.deser

public Interface Deserializers

Known Direct Implementers
com.fasterxml.jackson.databind.deser.Deserializers.Base
Imports
com.fasterxml.jackson.databind.*, com.fasterxml.jackson.databind.jsontype.TypeDeserializer, com.fasterxml.jackson.databind.type.*

Interface that defines API for simple extensions that can provide additional deserializers for various types. Access is by a single callback method; instance is to either return a configured JsonDeserializer for specified type, or null to indicate that it does not support handling of the type. In latter case, further calls can be made for other providers; in former case returned deserializer is used for handling of instances of specified type.

It is strongly recommended that implementations always extend Deserializers.Base and NOT just implement Deserializers.

Nested and Inner Type Summary

Modifier and TypeClass and Description
public abstract static class
Deserializers.Base

Basic Deserializers implementation that implements all methods but provides no deserializers.

Method Summary

Modifier and TypeMethod and Description
public JsonDeserializer<?>

Returns:

Deserializer to use for the type; or null if this provider does not know how to construct it
findArrayDeserializer
(ArrayType
Type of array instances to deserialize
type
,
DeserializationConfig
Configuration in effect
config
,
BeanDescription
Definition of the enumeration type that contains class annotations and other information typically needed for building deserializers
beanDesc
,
TypeDeserializer
If element type needs polymorphic type handling, this is the type information deserializer to use; should usually be used as is when constructing array deserializer.
elementTypeDeserializer
,
JsonDeserializer<?>
Deserializer to use for elements, if explicitly defined (by using annotations, for exmple). May be null, in which case it should be resolved here (or using ResolvableDeserializer callback)
elementDeserializer
)

Method called to locate serializer for specified array type.

public JsonDeserializer<?>

Returns:

Deserializer to use for the type; or null if this provider does not know how to construct it
findBeanDeserializer
(JavaType
Bean type to deserialize
type
,
DeserializationConfig
Configuration in effect
config
,
BeanDescription
Definition of the enumeration type that contains class annotations and other information typically needed for building deserializers
beanDesc
)

Method called to locate deserializer for specified value type which does not belong to any other category (not an Enum, Collection, Map, Array, reference value or tree node)

public JsonDeserializer<?>

Returns:

Deserializer to use for the type; or null if this provider does not know how to construct it
findCollectionDeserializer
(CollectionType
Type of collection instances to deserialize
type
,
DeserializationConfig
Configuration in effect
config
,
BeanDescription
Definition of the enumeration type that contains class annotations and other information typically needed for building deserializers
beanDesc
,
TypeDeserializer
If element type needs polymorphic type handling, this is the type information deserializer to use; should usually be used as is when constructing array deserializer.
elementTypeDeserializer
,
JsonDeserializer<?>
Deserializer to use for elements, if explicitly defined (by using annotations, for exmple). May be null, in which case it should be resolved here (or using ResolvableDeserializer callback)
elementDeserializer
)

Method called to locate serializer for specified java.util.Collection (List, Set etc) type.

public JsonDeserializer<?>

Returns:

Deserializer to use for the type; or null if this provider does not know how to construct it
findCollectionLikeDeserializer
(CollectionLikeType
Type of instances to deserialize
type
,
DeserializationConfig
Configuration in effect
config
,
BeanDescription
Definition of the enumeration type that contains class annotations and other information typically needed for building deserializers
beanDesc
,
TypeDeserializer
If element type needs polymorphic type handling, this is the type information deserializer to use; should usually be used as is when constructing array deserializer.
elementTypeDeserializer
,
JsonDeserializer<?>
Deserializer to use for elements, if explicitly defined (by using annotations, for exmple). May be null, in which case it should be resolved here (or using ResolvableDeserializer callback)
elementDeserializer
)

Method called to locate serializer for specified "Collection-like" type (one that acts like java.util.Collection but does not implement it).

public JsonDeserializer<?>

Returns:

Deserializer to use for the type; or null if this provider does not know how to construct it
findEnumDeserializer
(Class<?>
Type of java.lang.Enum instances to deserialize
type
,
DeserializationConfig
Configuration in effect
config
,
BeanDescription
Definition of the enumeration type that contains class annotations and other information typically needed for building deserializers
beanDesc
)

Method called to locate deserializer for specified java.lang.Enum type.

public JsonDeserializer<?>

Returns:

Deserializer to use for the type; or null if this provider does not know how to construct it
findMapDeserializer
(MapType
Type of java.util.Map instances to deserialize
type
,
DeserializationConfig
Configuration in effect
config
,
BeanDescription
Definition of the enumeration type that contains class annotations and other information typically needed for building deserializers
beanDesc
,
KeyDeserializer
Key deserializer use, if it is defined via annotations or other configuration; null if default key deserializer for key type can be used.
keyDeserializer
,
TypeDeserializer
If element type needs polymorphic type handling, this is the type information deserializer to use; should usually be used as is when constructing array deserializer.
elementTypeDeserializer
,
JsonDeserializer<?>
Deserializer to use for elements, if explicitly defined (by using annotations, for exmple). May be null, in which case it should be resolved here (or using ResolvableDeserializer callback)
elementDeserializer
)

Method called to locate deserializer for specified java.util.Map type.

public JsonDeserializer<?>

Returns:

Deserializer to use for the type; or null if this provider does not know how to construct it
findMapLikeDeserializer
(MapLikeType
Type of java.util.Map instances to deserialize
type
,
DeserializationConfig
Configuration in effect
config
,
BeanDescription
Definition of the enumeration type that contains class annotations and other information typically needed for building deserializers
beanDesc
,
KeyDeserializer
Key deserializer use, if it is defined via annotations or other configuration; null if default key deserializer for key type can be used.
keyDeserializer
,
TypeDeserializer
If element type needs polymorphic type handling, this is the type information deserializer to use; should usually be used as is when constructing array deserializer.
elementTypeDeserializer
,
JsonDeserializer<?>
Deserializer to use for elements, if explicitly defined (by using annotations, for exmple). May be null, in which case it should be resolved here (or using ResolvableDeserializer callback)
elementDeserializer
)

Method called to locate serializer for specified "Map-like" type (one that acts like java.util.Map but does not implement it).

public JsonDeserializer<?>

Returns:

Deserializer to use for the type; or null if this provider does not know how to construct it
findReferenceDeserializer
(ReferenceType
Specific referential type to deserialize
refType
,
DeserializationConfig
Configuration in effect
config
,
BeanDescription
Definition of the reference type that contains class annotations and other information typically needed for building deserializers
beanDesc
,
TypeDeserializer
Possible type deserializer for referenced value
contentTypeDeserializer
,
JsonDeserializer<?>
Value deserializer to use for referenced value, if indicated by property annotation
contentDeserializer
)

Method called to locate deserializer for value that is of referential type,

public JsonDeserializer<?>

Returns:

Deserializer to use for the type; or null if this provider does not know how to construct it
findTreeNodeDeserializer
(Class<? extends JsonNode>
Specific type of JSON tree nodes to deserialize (subtype of com.fasterxml.jackson.databind.JsonNode)
nodeType
,
DeserializationConfig
Configuration in effect
config
,
BeanDescription beanDesc)

Method called to locate deserializer for specified JSON tree node type.

public default boolean
hasDeserializerFor(DeserializationConfig config, Class<?> valueType)

Method that may be called to check whether this deserializer provider would provide deserializer for values of given type, without attempting to construct (and possibly fail in some cases) actual deserializer.

Method Detail

findArrayDeserializerback to summary
public JsonDeserializer<?> findArrayDeserializer(ArrayType type, DeserializationConfig config, BeanDescription beanDesc, TypeDeserializer elementTypeDeserializer, JsonDeserializer<?> elementDeserializer) throws JsonMappingException

Method called to locate serializer for specified array type.

Deserializer for element type may be passed, if configured explicitly at higher level (by annotations, typically), but usually are not. Type deserializer for element is passed if one is needed based on contextual information (annotations on declared element class; or on field or method type is associated with).

Parameters
type:ArrayType

Type of array instances to deserialize

config:DeserializationConfig

Configuration in effect

beanDesc:BeanDescription

Definition of the enumeration type that contains class annotations and other information typically needed for building deserializers

elementTypeDeserializer:TypeDeserializer

If element type needs polymorphic type handling, this is the type information deserializer to use; should usually be used as is when constructing array deserializer.

elementDeserializer:JsonDeserializer<?>

Deserializer to use for elements, if explicitly defined (by using annotations, for exmple). May be null, in which case it should be resolved here (or using ResolvableDeserializer callback)

Returns:JsonDeserializer<?>

Deserializer to use for the type; or null if this provider does not know how to construct it

findBeanDeserializerback to summary
public JsonDeserializer<?> findBeanDeserializer(JavaType type, DeserializationConfig config, BeanDescription beanDesc) throws JsonMappingException

Method called to locate deserializer for specified value type which does not belong to any other category (not an Enum, Collection, Map, Array, reference value or tree node)

Parameters
type:JavaType

Bean type to deserialize

config:DeserializationConfig

Configuration in effect

beanDesc:BeanDescription

Definition of the enumeration type that contains class annotations and other information typically needed for building deserializers

Returns:JsonDeserializer<?>

Deserializer to use for the type; or null if this provider does not know how to construct it

findCollectionDeserializerback to summary
public JsonDeserializer<?> findCollectionDeserializer(CollectionType type, DeserializationConfig config, BeanDescription beanDesc, TypeDeserializer elementTypeDeserializer, JsonDeserializer<?> elementDeserializer) throws JsonMappingException

Method called to locate serializer for specified java.util.Collection (List, Set etc) type.

Deserializer for element type may be passed, if configured explicitly at higher level (by annotations, typically), but usually are not. Type deserializer for element is passed if one is needed based on contextual information (annotations on declared element class; or on field or method type is associated with).

Parameters
type:CollectionType

Type of collection instances to deserialize

config:DeserializationConfig

Configuration in effect

beanDesc:BeanDescription

Definition of the enumeration type that contains class annotations and other information typically needed for building deserializers

elementTypeDeserializer:TypeDeserializer

If element type needs polymorphic type handling, this is the type information deserializer to use; should usually be used as is when constructing array deserializer.

elementDeserializer:JsonDeserializer<?>

Deserializer to use for elements, if explicitly defined (by using annotations, for exmple). May be null, in which case it should be resolved here (or using ResolvableDeserializer callback)

Returns:JsonDeserializer<?>

Deserializer to use for the type; or null if this provider does not know how to construct it

findCollectionLikeDeserializerback to summary
public JsonDeserializer<?> findCollectionLikeDeserializer(CollectionLikeType type, DeserializationConfig config, BeanDescription beanDesc, TypeDeserializer elementTypeDeserializer, JsonDeserializer<?> elementDeserializer) throws JsonMappingException

Method called to locate serializer for specified "Collection-like" type (one that acts like java.util.Collection but does not implement it).

Deserializer for element type may be passed, if configured explicitly at higher level (by annotations, typically), but usually are not. Type deserializer for element is passed if one is needed based on contextual information (annotations on declared element class; or on field or method type is associated with).

Parameters
type:CollectionLikeType

Type of instances to deserialize

config:DeserializationConfig

Configuration in effect

beanDesc:BeanDescription

Definition of the enumeration type that contains class annotations and other information typically needed for building deserializers

elementTypeDeserializer:TypeDeserializer

If element type needs polymorphic type handling, this is the type information deserializer to use; should usually be used as is when constructing array deserializer.

elementDeserializer:JsonDeserializer<?>

Deserializer to use for elements, if explicitly defined (by using annotations, for exmple). May be null, in which case it should be resolved here (or using ResolvableDeserializer callback)

Returns:JsonDeserializer<?>

Deserializer to use for the type; or null if this provider does not know how to construct it

findEnumDeserializerback to summary
public JsonDeserializer<?> findEnumDeserializer(Class<?> type, DeserializationConfig config, BeanDescription beanDesc) throws JsonMappingException

Method called to locate deserializer for specified java.lang.Enum type.

Parameters
type:Class<?>

Type of java.lang.Enum instances to deserialize

config:DeserializationConfig

Configuration in effect

beanDesc:BeanDescription

Definition of the enumeration type that contains class annotations and other information typically needed for building deserializers

Returns:JsonDeserializer<?>

Deserializer to use for the type; or null if this provider does not know how to construct it

findMapDeserializerback to summary
public JsonDeserializer<?> findMapDeserializer(MapType type, DeserializationConfig config, BeanDescription beanDesc, KeyDeserializer keyDeserializer, TypeDeserializer elementTypeDeserializer, JsonDeserializer<?> elementDeserializer) throws JsonMappingException

Method called to locate deserializer for specified java.util.Map type.

Deserializer for element type may be passed, if configured explicitly at higher level (by annotations, typically), but usually are not. Type deserializer for element is passed if one is needed based on contextual information (annotations on declared element class; or on field or method type is associated with).

Similarly, a KeyDeserializer may be passed, but this is only done if there is a specific configuration override (annotations) to indicate instance to use. Otherwise null is passed, and key deserializer needs to be obtained later during resolution (using ResolvableDeserializer#resolve).

Parameters
type:MapType

Type of java.util.Map instances to deserialize

config:DeserializationConfig

Configuration in effect

beanDesc:BeanDescription

Definition of the enumeration type that contains class annotations and other information typically needed for building deserializers

keyDeserializer:KeyDeserializer

Key deserializer use, if it is defined via annotations or other configuration; null if default key deserializer for key type can be used.

elementTypeDeserializer:TypeDeserializer

If element type needs polymorphic type handling, this is the type information deserializer to use; should usually be used as is when constructing array deserializer.

elementDeserializer:JsonDeserializer<?>

Deserializer to use for elements, if explicitly defined (by using annotations, for exmple). May be null, in which case it should be resolved here (or using ResolvableDeserializer callback)

Returns:JsonDeserializer<?>

Deserializer to use for the type; or null if this provider does not know how to construct it

findMapLikeDeserializerback to summary
public JsonDeserializer<?> findMapLikeDeserializer(MapLikeType type, DeserializationConfig config, BeanDescription beanDesc, KeyDeserializer keyDeserializer, TypeDeserializer elementTypeDeserializer, JsonDeserializer<?> elementDeserializer) throws JsonMappingException

Method called to locate serializer for specified "Map-like" type (one that acts like java.util.Map but does not implement it).

Deserializer for element type may be passed, if configured explicitly at higher level (by annotations, typically), but usually are not. Type deserializer for element is passed if one is needed based on contextual information (annotations on declared element class; or on field or method type is associated with).

Similarly, a KeyDeserializer may be passed, but this is only done if there is a specific configuration override (annotations) to indicate instance to use. Otherwise null is passed, and key deserializer needs to be obtained later during resolution (using ResolvableDeserializer#resolve).

Parameters
type:MapLikeType

Type of java.util.Map instances to deserialize

config:DeserializationConfig

Configuration in effect

beanDesc:BeanDescription

Definition of the enumeration type that contains class annotations and other information typically needed for building deserializers

keyDeserializer:KeyDeserializer

Key deserializer use, if it is defined via annotations or other configuration; null if default key deserializer for key type can be used.

elementTypeDeserializer:TypeDeserializer

If element type needs polymorphic type handling, this is the type information deserializer to use; should usually be used as is when constructing array deserializer.

elementDeserializer:JsonDeserializer<?>

Deserializer to use for elements, if explicitly defined (by using annotations, for exmple). May be null, in which case it should be resolved here (or using ResolvableDeserializer callback)

Returns:JsonDeserializer<?>

Deserializer to use for the type; or null if this provider does not know how to construct it

findReferenceDeserializerback to summary
public JsonDeserializer<?> findReferenceDeserializer(ReferenceType refType, DeserializationConfig config, BeanDescription beanDesc, TypeDeserializer contentTypeDeserializer, JsonDeserializer<?> contentDeserializer) throws JsonMappingException

Method called to locate deserializer for value that is of referential type,

Parameters
refType:ReferenceType

Specific referential type to deserialize

config:DeserializationConfig

Configuration in effect

beanDesc:BeanDescription

Definition of the reference type that contains class annotations and other information typically needed for building deserializers

contentTypeDeserializer:TypeDeserializer

Possible type deserializer for referenced value

contentDeserializer:JsonDeserializer<?>

Value deserializer to use for referenced value, if indicated by property annotation

Returns:JsonDeserializer<?>

Deserializer to use for the type; or null if this provider does not know how to construct it

Since
2.7
findTreeNodeDeserializerback to summary
public JsonDeserializer<?> findTreeNodeDeserializer(Class<? extends JsonNode> nodeType, DeserializationConfig config, BeanDescription beanDesc) throws JsonMappingException

Method called to locate deserializer for specified JSON tree node type.

Parameters
nodeType:Class<? extends JsonNode>

Specific type of JSON tree nodes to deserialize (subtype of com.fasterxml.jackson.databind.JsonNode)

config:DeserializationConfig

Configuration in effect

Returns:JsonDeserializer<?>

Deserializer to use for the type; or null if this provider does not know how to construct it

hasDeserializerForback to summary
public default boolean hasDeserializerFor(DeserializationConfig config, Class<?> valueType)

Method that may be called to check whether this deserializer provider would provide deserializer for values of given type, without attempting to construct (and possibly fail in some cases) actual deserializer. Mostly needed to support validation of polymorphic type ids.

Note

implementations should take care NOT to claim supporting types that they do not recognize as this could to incorrect assumption of safe support by caller.

Method added in Jackson 2.13 now that Java 8 default implementations are available for use with interface definitions.

Since
2.13
com.fasterxml.jackson.databind.deser back to summary

public abstract Class Deserializers.Base

extends Object
implements Deserializers
Class Inheritance
All Implemented Interfaces
com.fasterxml.jackson.databind.deser.Deserializers
Known Direct Subclasses
com.fasterxml.jackson.databind.ext.CoreXMLDeserializers, com.fasterxml.jackson.databind.module.SimpleDeserializers

Basic Deserializers implementation that implements all methods but provides no deserializers. Its main purpose is to serve as a base class so that sub-classes only need to override methods they need, as most of the time some of methods are not needed (especially enumeration and array deserializers are very rarely overridden).

Constructor Summary

AccessConstructor and Description
public
Base()

Method Summary

Modifier and TypeMethod and Description
public JsonDeserializer<?>
findArrayDeserializer(ArrayType
Type of array instances to deserialize
type
,
DeserializationConfig
Configuration in effect
config
,
BeanDescription
Definition of the enumeration type that contains class annotations and other information typically needed for building deserializers
beanDesc
,
TypeDeserializer
If element type needs polymorphic type handling, this is the type information deserializer to use; should usually be used as is when constructing array deserializer.
elementTypeDeserializer
,
JsonDeserializer<?>
Deserializer to use for elements, if explicitly defined (by using annotations, for exmple). May be null, in which case it should be resolved here (or using ResolvableDeserializer callback)
elementDeserializer
)

Implements com.fasterxml.jackson.databind.deser.Deserializers.findArrayDeserializer.

Method called to locate serializer for specified array type.

public JsonDeserializer<?>
findBeanDeserializer(JavaType
Bean type to deserialize
type
,
DeserializationConfig
Configuration in effect
config
,
BeanDescription
Definition of the enumeration type that contains class annotations and other information typically needed for building deserializers
beanDesc
)

Implements com.fasterxml.jackson.databind.deser.Deserializers.findBeanDeserializer.

Method called to locate deserializer for specified value type which does not belong to any other category (not an Enum, Collection, Map, Array, reference value or tree node)

public JsonDeserializer<?>
findCollectionDeserializer(CollectionType
Type of collection instances to deserialize
type
,
DeserializationConfig
Configuration in effect
config
,
BeanDescription
Definition of the enumeration type that contains class annotations and other information typically needed for building deserializers
beanDesc
,
TypeDeserializer
If element type needs polymorphic type handling, this is the type information deserializer to use; should usually be used as is when constructing array deserializer.
elementTypeDeserializer
,
JsonDeserializer<?>
Deserializer to use for elements, if explicitly defined (by using annotations, for exmple). May be null, in which case it should be resolved here (or using ResolvableDeserializer callback)
elementDeserializer
)

Implements com.fasterxml.jackson.databind.deser.Deserializers.findCollectionDeserializer.

Method called to locate serializer for specified java.util.Collection (List, Set etc) type.

public JsonDeserializer<?>
findCollectionLikeDeserializer(CollectionLikeType
Type of instances to deserialize
type
,
DeserializationConfig
Configuration in effect
config
,
BeanDescription
Definition of the enumeration type that contains class annotations and other information typically needed for building deserializers
beanDesc
,
TypeDeserializer
If element type needs polymorphic type handling, this is the type information deserializer to use; should usually be used as is when constructing array deserializer.
elementTypeDeserializer
,
JsonDeserializer<?>
Deserializer to use for elements, if explicitly defined (by using annotations, for exmple). May be null, in which case it should be resolved here (or using ResolvableDeserializer callback)
elementDeserializer
)

Implements com.fasterxml.jackson.databind.deser.Deserializers.findCollectionLikeDeserializer.

Method called to locate serializer for specified "Collection-like" type (one that acts like java.util.Collection but does not implement it).

public JsonDeserializer<?>
findEnumDeserializer(Class<?>
Type of java.lang.Enum instances to deserialize
type
,
DeserializationConfig
Configuration in effect
config
,
BeanDescription
Definition of the enumeration type that contains class annotations and other information typically needed for building deserializers
beanDesc
)

Implements com.fasterxml.jackson.databind.deser.Deserializers.findEnumDeserializer.

Method called to locate deserializer for specified java.lang.Enum type.

public JsonDeserializer<?>
findMapDeserializer(MapType
Type of java.util.Map instances to deserialize
type
,
DeserializationConfig
Configuration in effect
config
,
BeanDescription
Definition of the enumeration type that contains class annotations and other information typically needed for building deserializers
beanDesc
,
KeyDeserializer
Key deserializer use, if it is defined via annotations or other configuration; null if default key deserializer for key type can be used.
keyDeserializer
,
TypeDeserializer
If element type needs polymorphic type handling, this is the type information deserializer to use; should usually be used as is when constructing array deserializer.
elementTypeDeserializer
,
JsonDeserializer<?>
Deserializer to use for elements, if explicitly defined (by using annotations, for exmple). May be null, in which case it should be resolved here (or using ResolvableDeserializer callback)
elementDeserializer
)

Implements com.fasterxml.jackson.databind.deser.Deserializers.findMapDeserializer.

Method called to locate deserializer for specified java.util.Map type.

public JsonDeserializer<?>
findMapLikeDeserializer(MapLikeType
Type of java.util.Map instances to deserialize
type
,
DeserializationConfig
Configuration in effect
config
,
BeanDescription
Definition of the enumeration type that contains class annotations and other information typically needed for building deserializers
beanDesc
,
KeyDeserializer
Key deserializer use, if it is defined via annotations or other configuration; null if default key deserializer for key type can be used.
keyDeserializer
,
TypeDeserializer
If element type needs polymorphic type handling, this is the type information deserializer to use; should usually be used as is when constructing array deserializer.
elementTypeDeserializer
,
JsonDeserializer<?>
Deserializer to use for elements, if explicitly defined (by using annotations, for exmple). May be null, in which case it should be resolved here (or using ResolvableDeserializer callback)
elementDeserializer
)

Implements com.fasterxml.jackson.databind.deser.Deserializers.findMapLikeDeserializer.

Method called to locate serializer for specified "Map-like" type (one that acts like java.util.Map but does not implement it).

public JsonDeserializer<?>
findReferenceDeserializer(ReferenceType
Specific referential type to deserialize
refType
,
DeserializationConfig
Configuration in effect
config
,
BeanDescription
Definition of the reference type that contains class annotations and other information typically needed for building deserializers
beanDesc
,
TypeDeserializer
Possible type deserializer for referenced value
contentTypeDeserializer
,
JsonDeserializer<?>
Value deserializer to use for referenced value, if indicated by property annotation
contentDeserializer
)

Implements com.fasterxml.jackson.databind.deser.Deserializers.findReferenceDeserializer.

Method called to locate deserializer for value that is of referential type,

public JsonDeserializer<?>
findTreeNodeDeserializer(Class<? extends JsonNode>
Specific type of JSON tree nodes to deserialize (subtype of com.fasterxml.jackson.databind.JsonNode)
nodeType
,
DeserializationConfig
Configuration in effect
config
,
BeanDescription beanDesc)

Implements com.fasterxml.jackson.databind.deser.Deserializers.findTreeNodeDeserializer.

Method called to locate deserializer for specified JSON tree node type.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Constructor Detail

Baseback to summary
public Base()

Method Detail

findArrayDeserializerback to summary
public JsonDeserializer<?> findArrayDeserializer(ArrayType type, DeserializationConfig config, BeanDescription beanDesc, TypeDeserializer elementTypeDeserializer, JsonDeserializer<?> elementDeserializer) throws JsonMappingException

Implements com.fasterxml.jackson.databind.deser.Deserializers.findArrayDeserializer.

Doc from com.fasterxml.jackson.databind.deser.Deserializers.findArrayDeserializer.

Method called to locate serializer for specified array type.

Deserializer for element type may be passed, if configured explicitly at higher level (by annotations, typically), but usually are not. Type deserializer for element is passed if one is needed based on contextual information (annotations on declared element class; or on field or method type is associated with).

Parameters
type:ArrayType

Type of array instances to deserialize

config:DeserializationConfig

Configuration in effect

beanDesc:BeanDescription

Definition of the enumeration type that contains class annotations and other information typically needed for building deserializers

elementTypeDeserializer:TypeDeserializer

If element type needs polymorphic type handling, this is the type information deserializer to use; should usually be used as is when constructing array deserializer.

elementDeserializer:JsonDeserializer<?>

Deserializer to use for elements, if explicitly defined (by using annotations, for exmple). May be null, in which case it should be resolved here (or using ResolvableDeserializer callback)

Returns:JsonDeserializer<?>

Deserializer to use for the type; or null if this provider does not know how to construct it

Annotations
@Override
findBeanDeserializerback to summary
public JsonDeserializer<?> findBeanDeserializer(JavaType type, DeserializationConfig config, BeanDescription beanDesc) throws JsonMappingException

Implements com.fasterxml.jackson.databind.deser.Deserializers.findBeanDeserializer.

Doc from com.fasterxml.jackson.databind.deser.Deserializers.findBeanDeserializer.

Method called to locate deserializer for specified value type which does not belong to any other category (not an Enum, Collection, Map, Array, reference value or tree node)

Parameters
type:JavaType

Bean type to deserialize

config:DeserializationConfig

Configuration in effect

beanDesc:BeanDescription

Definition of the enumeration type that contains class annotations and other information typically needed for building deserializers

Returns:JsonDeserializer<?>

Deserializer to use for the type; or null if this provider does not know how to construct it

Annotations
@Override
findCollectionDeserializerback to summary
public JsonDeserializer<?> findCollectionDeserializer(CollectionType type, DeserializationConfig config, BeanDescription beanDesc, TypeDeserializer elementTypeDeserializer, JsonDeserializer<?> elementDeserializer) throws JsonMappingException

Implements com.fasterxml.jackson.databind.deser.Deserializers.findCollectionDeserializer.

Doc from com.fasterxml.jackson.databind.deser.Deserializers.findCollectionDeserializer.

Method called to locate serializer for specified java.util.Collection (List, Set etc) type.

Deserializer for element type may be passed, if configured explicitly at higher level (by annotations, typically), but usually are not. Type deserializer for element is passed if one is needed based on contextual information (annotations on declared element class; or on field or method type is associated with).

Parameters
type:CollectionType

Type of collection instances to deserialize

config:DeserializationConfig

Configuration in effect

beanDesc:BeanDescription

Definition of the enumeration type that contains class annotations and other information typically needed for building deserializers

elementTypeDeserializer:TypeDeserializer

If element type needs polymorphic type handling, this is the type information deserializer to use; should usually be used as is when constructing array deserializer.

elementDeserializer:JsonDeserializer<?>

Deserializer to use for elements, if explicitly defined (by using annotations, for exmple). May be null, in which case it should be resolved here (or using ResolvableDeserializer callback)

Returns:JsonDeserializer<?>

Deserializer to use for the type; or null if this provider does not know how to construct it

Annotations
@Override
findCollectionLikeDeserializerback to summary
public JsonDeserializer<?> findCollectionLikeDeserializer(CollectionLikeType type, DeserializationConfig config, BeanDescription beanDesc, TypeDeserializer elementTypeDeserializer, JsonDeserializer<?> elementDeserializer) throws JsonMappingException

Implements com.fasterxml.jackson.databind.deser.Deserializers.findCollectionLikeDeserializer.

Doc from com.fasterxml.jackson.databind.deser.Deserializers.findCollectionLikeDeserializer.

Method called to locate serializer for specified "Collection-like" type (one that acts like java.util.Collection but does not implement it).

Deserializer for element type may be passed, if configured explicitly at higher level (by annotations, typically), but usually are not. Type deserializer for element is passed if one is needed based on contextual information (annotations on declared element class; or on field or method type is associated with).

Parameters
type:CollectionLikeType

Type of instances to deserialize

config:DeserializationConfig

Configuration in effect

beanDesc:BeanDescription

Definition of the enumeration type that contains class annotations and other information typically needed for building deserializers

elementTypeDeserializer:TypeDeserializer

If element type needs polymorphic type handling, this is the type information deserializer to use; should usually be used as is when constructing array deserializer.

elementDeserializer:JsonDeserializer<?>

Deserializer to use for elements, if explicitly defined (by using annotations, for exmple). May be null, in which case it should be resolved here (or using ResolvableDeserializer callback)

Returns:JsonDeserializer<?>

Deserializer to use for the type; or null if this provider does not know how to construct it

Annotations
@Override
findEnumDeserializerback to summary
public JsonDeserializer<?> findEnumDeserializer(Class<?> type, DeserializationConfig config, BeanDescription beanDesc) throws JsonMappingException

Implements com.fasterxml.jackson.databind.deser.Deserializers.findEnumDeserializer.

Doc from com.fasterxml.jackson.databind.deser.Deserializers.findEnumDeserializer.

Method called to locate deserializer for specified java.lang.Enum type.

Parameters
type:Class<?>

Type of java.lang.Enum instances to deserialize

config:DeserializationConfig

Configuration in effect

beanDesc:BeanDescription

Definition of the enumeration type that contains class annotations and other information typically needed for building deserializers

Returns:JsonDeserializer<?>

Deserializer to use for the type; or null if this provider does not know how to construct it

Annotations
@Override
findMapDeserializerback to summary
public JsonDeserializer<?> findMapDeserializer(MapType type, DeserializationConfig config, BeanDescription beanDesc, KeyDeserializer keyDeserializer, TypeDeserializer elementTypeDeserializer, JsonDeserializer<?> elementDeserializer) throws JsonMappingException

Implements com.fasterxml.jackson.databind.deser.Deserializers.findMapDeserializer.

Doc from com.fasterxml.jackson.databind.deser.Deserializers.findMapDeserializer.

Method called to locate deserializer for specified java.util.Map type.

Deserializer for element type may be passed, if configured explicitly at higher level (by annotations, typically), but usually are not. Type deserializer for element is passed if one is needed based on contextual information (annotations on declared element class; or on field or method type is associated with).

Similarly, a KeyDeserializer may be passed, but this is only done if there is a specific configuration override (annotations) to indicate instance to use. Otherwise null is passed, and key deserializer needs to be obtained later during resolution (using ResolvableDeserializer#resolve).

Parameters
type:MapType

Type of java.util.Map instances to deserialize

config:DeserializationConfig

Configuration in effect

beanDesc:BeanDescription

Definition of the enumeration type that contains class annotations and other information typically needed for building deserializers

keyDeserializer:KeyDeserializer

Key deserializer use, if it is defined via annotations or other configuration; null if default key deserializer for key type can be used.

elementTypeDeserializer:TypeDeserializer

If element type needs polymorphic type handling, this is the type information deserializer to use; should usually be used as is when constructing array deserializer.

elementDeserializer:JsonDeserializer<?>

Deserializer to use for elements, if explicitly defined (by using annotations, for exmple). May be null, in which case it should be resolved here (or using ResolvableDeserializer callback)

Returns:JsonDeserializer<?>

Deserializer to use for the type; or null if this provider does not know how to construct it

Annotations
@Override
findMapLikeDeserializerback to summary
public JsonDeserializer<?> findMapLikeDeserializer(MapLikeType type, DeserializationConfig config, BeanDescription beanDesc, KeyDeserializer keyDeserializer, TypeDeserializer elementTypeDeserializer, JsonDeserializer<?> elementDeserializer) throws JsonMappingException

Implements com.fasterxml.jackson.databind.deser.Deserializers.findMapLikeDeserializer.

Doc from com.fasterxml.jackson.databind.deser.Deserializers.findMapLikeDeserializer.

Method called to locate serializer for specified "Map-like" type (one that acts like java.util.Map but does not implement it).

Deserializer for element type may be passed, if configured explicitly at higher level (by annotations, typically), but usually are not. Type deserializer for element is passed if one is needed based on contextual information (annotations on declared element class; or on field or method type is associated with).

Similarly, a KeyDeserializer may be passed, but this is only done if there is a specific configuration override (annotations) to indicate instance to use. Otherwise null is passed, and key deserializer needs to be obtained later during resolution (using ResolvableDeserializer#resolve).

Parameters
type:MapLikeType

Type of java.util.Map instances to deserialize

config:DeserializationConfig

Configuration in effect

beanDesc:BeanDescription

Definition of the enumeration type that contains class annotations and other information typically needed for building deserializers

keyDeserializer:KeyDeserializer

Key deserializer use, if it is defined via annotations or other configuration; null if default key deserializer for key type can be used.

elementTypeDeserializer:TypeDeserializer

If element type needs polymorphic type handling, this is the type information deserializer to use; should usually be used as is when constructing array deserializer.

elementDeserializer:JsonDeserializer<?>

Deserializer to use for elements, if explicitly defined (by using annotations, for exmple). May be null, in which case it should be resolved here (or using ResolvableDeserializer callback)

Returns:JsonDeserializer<?>

Deserializer to use for the type; or null if this provider does not know how to construct it

Annotations
@Override
findReferenceDeserializerback to summary
public JsonDeserializer<?> findReferenceDeserializer(ReferenceType refType, DeserializationConfig config, BeanDescription beanDesc, TypeDeserializer contentTypeDeserializer, JsonDeserializer<?> contentDeserializer) throws JsonMappingException

Implements com.fasterxml.jackson.databind.deser.Deserializers.findReferenceDeserializer.

Doc from com.fasterxml.jackson.databind.deser.Deserializers.findReferenceDeserializer.

Method called to locate deserializer for value that is of referential type,

Parameters
refType:ReferenceType

Specific referential type to deserialize

config:DeserializationConfig

Configuration in effect

beanDesc:BeanDescription

Definition of the reference type that contains class annotations and other information typically needed for building deserializers

contentTypeDeserializer:TypeDeserializer

Possible type deserializer for referenced value

contentDeserializer:JsonDeserializer<?>

Value deserializer to use for referenced value, if indicated by property annotation

Returns:JsonDeserializer<?>

Deserializer to use for the type; or null if this provider does not know how to construct it

Annotations
@Override
findTreeNodeDeserializerback to summary
public JsonDeserializer<?> findTreeNodeDeserializer(Class<? extends JsonNode> nodeType, DeserializationConfig config, BeanDescription beanDesc) throws JsonMappingException

Implements com.fasterxml.jackson.databind.deser.Deserializers.findTreeNodeDeserializer.

Doc from com.fasterxml.jackson.databind.deser.Deserializers.findTreeNodeDeserializer.

Method called to locate deserializer for specified JSON tree node type.

Parameters
nodeType:Class<? extends JsonNode>

Specific type of JSON tree nodes to deserialize (subtype of com.fasterxml.jackson.databind.JsonNode)

config:DeserializationConfig

Configuration in effect

Returns:JsonDeserializer<?>

Deserializer to use for the type; or null if this provider does not know how to construct it

Annotations
@Override