public interface Deserializers
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.
Unlike with Serializers, multiple different methods are used since different
kinds of types typically require different kinds of inputs.
| Modifier and Type | Interface and Description |
|---|---|
static class |
Deserializers.Base
Basic
Deserializers implementation that implements all methods but provides
no deserializers. |
static class |
Deserializers.None
Deprecated.
As of 1.9, use
Deserializers.Base instead |
| Modifier and Type | Method and Description |
|---|---|
JsonDeserializer<?> |
findArrayDeserializer(ArrayType type,
DeserializationConfig config,
DeserializerProvider provider,
BeanProperty property,
TypeDeserializer elementTypeDeserializer,
JsonDeserializer<?> elementDeserializer)
Method called to locate serializer for specified array type.
|
JsonDeserializer<?> |
findBeanDeserializer(JavaType type,
DeserializationConfig config,
DeserializerProvider provider,
BeanDescription beanDesc,
BeanProperty property)
Method called to locate deserializer for specified value type which does not belong to any other
category (not an Enum, Collection, Map, Array or tree node)
|
JsonDeserializer<?> |
findCollectionDeserializer(CollectionType type,
DeserializationConfig config,
DeserializerProvider provider,
BeanDescription beanDesc,
BeanProperty property,
TypeDeserializer elementTypeDeserializer,
JsonDeserializer<?> elementDeserializer)
Method called to locate serializer for specified
Collection (List, Set etc) type. |
JsonDeserializer<?> |
findCollectionLikeDeserializer(CollectionLikeType type,
DeserializationConfig config,
DeserializerProvider provider,
BeanDescription beanDesc,
BeanProperty property,
TypeDeserializer elementTypeDeserializer,
JsonDeserializer<?> elementDeserializer)
Method called to locate serializer for specified
"Collection-like" type (one that acts
like
Collection but does not implement it). |
JsonDeserializer<?> |
findEnumDeserializer(Class<?> type,
DeserializationConfig config,
BeanDescription beanDesc,
BeanProperty property)
Method called to locate deserializer for specified
Enum type. |
JsonDeserializer<?> |
findMapDeserializer(MapType type,
DeserializationConfig config,
DeserializerProvider provider,
BeanDescription beanDesc,
BeanProperty property,
KeyDeserializer keyDeserializer,
TypeDeserializer elementTypeDeserializer,
JsonDeserializer<?> elementDeserializer)
Method called to locate deserializer for specified
Map type. |
JsonDeserializer<?> |
findMapLikeDeserializer(MapLikeType type,
DeserializationConfig config,
DeserializerProvider provider,
BeanDescription beanDesc,
BeanProperty property,
KeyDeserializer keyDeserializer,
TypeDeserializer elementTypeDeserializer,
JsonDeserializer<?> elementDeserializer)
Method called to locate serializer for specified
"Map-like" type (one that acts
like
Map but does not implement it). |
JsonDeserializer<?> |
findTreeNodeDeserializer(Class<? extends JsonNode> nodeType,
DeserializationConfig config,
BeanProperty property)
Method called to locate deserializer for specified JSON tree node type.
|
JsonDeserializer<?> findArrayDeserializer(ArrayType type, DeserializationConfig config, DeserializerProvider provider, BeanProperty property, TypeDeserializer elementTypeDeserializer, JsonDeserializer<?> elementDeserializer) throws JsonMappingException
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).
type - Type of array instances to deserializeconfig - Configuration in effectprovider - Provider that can be used to locate deserializer for component type (if
one not provided, or needs to be overridden)property - Property that contains array value (null for root values)elementTypeDeserializer - 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 - 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)JsonMappingExceptionJsonDeserializer<?> findCollectionDeserializer(CollectionType type, DeserializationConfig config, DeserializerProvider provider, BeanDescription beanDesc, BeanProperty property, TypeDeserializer elementTypeDeserializer, JsonDeserializer<?> elementDeserializer) throws JsonMappingException
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).
type - Type of collection instances to deserializeconfig - Configuration in effectprovider - Provider that can be used to locate dependant deserializers if and as necessary
(but note that in many cases resolution must be deferred by using ResolvableDeserializer callback)property - Property that contains array value (null for root values)beanDesc - Definition of the enumeration type that contains class annotations and
other information typically needed for building deserializers (note: always instance
of BasicBeanDescription)elementTypeDeserializer - 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 - 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)JsonMappingExceptionJsonDeserializer<?> findCollectionLikeDeserializer(CollectionLikeType type, DeserializationConfig config, DeserializerProvider provider, BeanDescription beanDesc, BeanProperty property, TypeDeserializer elementTypeDeserializer, JsonDeserializer<?> elementDeserializer) throws JsonMappingException
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).
type - Type of instances to deserializeconfig - Configuration in effectprovider - Provider that can be used to locate dependant deserializers if and as necessary
(but note that in many cases resolution must be deferred by using ResolvableDeserializer callback)property - Property that contains array value (null for root values)beanDesc - Definition of the enumeration type that contains class annotations and
other information typically needed for building deserializers (note: always instance
of BasicBeanDescription)elementTypeDeserializer - 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 - 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)JsonMappingExceptionJsonDeserializer<?> findEnumDeserializer(Class<?> type, DeserializationConfig config, BeanDescription beanDesc, BeanProperty property) throws JsonMappingException
Enum type.type - Type of Enum instances to deserializeconfig - Configuration in effectbeanDesc - Definition of the enumeration type that contains class annotations and
other information typically needed for building deserializers (note: always instance
of BasicBeanDescription)JsonMappingExceptionJsonDeserializer<?> findMapDeserializer(MapType type, DeserializationConfig config, DeserializerProvider provider, BeanDescription beanDesc, BeanProperty property, KeyDeserializer keyDeserializer, TypeDeserializer elementTypeDeserializer, JsonDeserializer<?> elementDeserializer) throws JsonMappingException
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 using DeserializerProvider
type - Type of Map instances to deserializeconfig - Configuration in effectprovider - Provider that can be used to locate dependant deserializers if and as necessary
(but note that in many cases resolution must be deferred by using ResolvableDeserializer callback)beanDesc - Definition of the enumeration type that contains class annotations and
other information typically needed for building deserializers (note: always instance
of BasicBeanDescription)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 - 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 - 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)JsonMappingExceptionJsonDeserializer<?> findMapLikeDeserializer(MapLikeType type, DeserializationConfig config, DeserializerProvider provider, BeanDescription beanDesc, BeanProperty property, KeyDeserializer keyDeserializer, TypeDeserializer elementTypeDeserializer, JsonDeserializer<?> elementDeserializer) throws JsonMappingException
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 using DeserializerProvider
type - Type of Map instances to deserializeconfig - Configuration in effectprovider - Provider that can be used to locate dependant deserializers if and as necessary
(but note that in many cases resolution must be deferred by using ResolvableDeserializer callback)beanDesc - Definition of the enumeration type that contains class annotations and
other information typically needed for building deserializers (note: always instance
of BasicBeanDescription)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 - 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 - 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)JsonMappingExceptionJsonDeserializer<?> findTreeNodeDeserializer(Class<? extends JsonNode> nodeType, DeserializationConfig config, BeanProperty property) throws JsonMappingException
nodeType - Specific type of JSON tree nodes to deserialize (subtype of JsonNode)config - Configuration in effectJsonMappingExceptionJsonDeserializer<?> findBeanDeserializer(JavaType type, DeserializationConfig config, DeserializerProvider provider, BeanDescription beanDesc, BeanProperty property) throws JsonMappingException
type - Bean type to deserializeconfig - Configuration in effectprovider - Provider that can be used to locate dependant deserializers if and as necessary
(but note that in many cases resolution must be deferred by using ResolvableDeserializer callback)beanDesc - Definition of the enumeration type that contains class annotations and
other information typically needed for building deserializers (note: always instance
of BasicBeanDescription)JsonMappingException