TypeDeserializerBase
public abstract class TypeDeserializer extends Object
Separate deserialization methods are needed because serialized
form for inclusion mechanism JsonTypeInfo.As.PROPERTY
is slighty different if value is not expressed as JSON Object:
and as such both type deserializer and serializer need to
JSON Object form (array, object or other (== scalar)) being used.
Constructor | Description |
---|---|
TypeDeserializer() |
Modifier and Type | Method | Description |
---|---|---|
static Object |
deserializeIfNatural(com.fasterxml.jackson.core.JsonParser p,
DeserializationContext ctxt,
JavaType baseType) |
Helper method used to check if given parser might be pointing to
a "natural" value, and one that would be acceptable as the
result value (compatible with declared base type)
|
static Object |
deserializeIfNatural(com.fasterxml.jackson.core.JsonParser p,
DeserializationContext ctxt,
Class<?> base) |
|
abstract Object |
deserializeTypedFromAny(com.fasterxml.jackson.core.JsonParser p,
DeserializationContext ctxt) |
Method called to let this type deserializer handle
deserialization of "typed" object, when value itself
may have been serialized using any kind of JSON value
(Array, Object, scalar).
|
abstract Object |
deserializeTypedFromArray(com.fasterxml.jackson.core.JsonParser p,
DeserializationContext ctxt) |
Method called to let this type deserializer handle
deserialization of "typed" object, when value itself
is serialized as JSON Array (regardless of Java type).
|
abstract Object |
deserializeTypedFromObject(com.fasterxml.jackson.core.JsonParser p,
DeserializationContext ctxt) |
Method called to let this type deserializer handle
deserialization of "typed" object, when value itself
is serialized as JSON Object (regardless of Java type).
|
abstract Object |
deserializeTypedFromScalar(com.fasterxml.jackson.core.JsonParser p,
DeserializationContext ctxt) |
Method called to let this type deserializer handle
deserialization of "typed" object, when value itself
is serialized as a scalar JSON value (something other
than Array or Object), regardless of Java type.
|
abstract TypeDeserializer |
forProperty(BeanProperty prop) |
Method called to create contextual version, to be used for
values of given property.
|
abstract Class<?> |
getDefaultImpl() |
Accessor for "default implementation" type; optionally defined
class to use in cases where type id is not
accessible for some reason (either missing, or cannot be
resolved)
|
abstract String |
getPropertyName() |
Name of property that contains type information, if
property-based inclusion is used.
|
abstract TypeIdResolver |
getTypeIdResolver() |
Accessor for object that handles conversions between
types and matching type ids.
|
abstract com.fasterxml.jackson.annotation.JsonTypeInfo.As |
getTypeInclusion() |
Accessor for type information inclusion method
that deserializer uses; indicates how type information
is (expected to be) embedded in JSON input.
|
public abstract TypeDeserializer forProperty(BeanProperty prop)
Collection
or Map
valued properties).public abstract com.fasterxml.jackson.annotation.JsonTypeInfo.As getTypeInclusion()
public abstract String getPropertyName()
public abstract TypeIdResolver getTypeIdResolver()
public abstract Class<?> getDefaultImpl()
public abstract Object deserializeTypedFromObject(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt) throws IOException
JsonDeserializer
to use, and
call it with JSON data to deserializer (which does not contain
type information).IOException
public abstract Object deserializeTypedFromArray(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt) throws IOException
JsonDeserializer
to use, and
call it with JSON data to deserializer (which does not contain
type information).IOException
public abstract Object deserializeTypedFromScalar(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt) throws IOException
JsonDeserializer
to use, and
call it with JSON data to deserializer (which does not contain
type information).IOException
public abstract Object deserializeTypedFromAny(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt) throws IOException
IOException
public static Object deserializeIfNatural(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, JavaType baseType) throws IOException
IOException
public static Object deserializeIfNatural(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, Class<?> base) throws IOException
IOException
Copyright © 2008–2018. All rights reserved.