TypeDeserializerBasepublic abstract class TypeDeserializer
extends java.lang.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 |
|---|---|---|
abstract java.lang.Object |
deserializeTypedFromAny(JsonParser jp,
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 java.lang.Object |
deserializeTypedFromArray(JsonParser jp,
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 java.lang.Object |
deserializeTypedFromObject(JsonParser jp,
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 java.lang.Object |
deserializeTypedFromScalar(JsonParser jp,
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 java.lang.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 can not be
resolved)
|
abstract java.lang.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 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 JsonTypeInfo.As getTypeInclusion()
public abstract java.lang.String getPropertyName()
public abstract TypeIdResolver getTypeIdResolver()
public abstract java.lang.Class<?> getDefaultImpl()
public abstract java.lang.Object deserializeTypedFromObject(JsonParser jp, DeserializationContext ctxt) throws java.io.IOException, JsonProcessingException
JsonDeserializer to use, and
call it with JSON data to deserializer (which does not contain
type information).java.io.IOExceptionJsonProcessingExceptionpublic abstract java.lang.Object deserializeTypedFromArray(JsonParser jp, DeserializationContext ctxt) throws java.io.IOException, JsonProcessingException
JsonDeserializer to use, and
call it with JSON data to deserializer (which does not contain
type information).java.io.IOExceptionJsonProcessingExceptionpublic abstract java.lang.Object deserializeTypedFromScalar(JsonParser jp, DeserializationContext ctxt) throws java.io.IOException, JsonProcessingException
JsonDeserializer to use, and
call it with JSON data to deserializer (which does not contain
type information).java.io.IOExceptionJsonProcessingExceptionpublic abstract java.lang.Object deserializeTypedFromAny(JsonParser jp, DeserializationContext ctxt) throws java.io.IOException, JsonProcessingException
java.io.IOExceptionJsonProcessingException