public abstract class TypeDeserializerBase extends TypeDeserializer implements Serializable
TypeDeserializers.| Modifier and Type | Field and Description |
|---|---|
protected JavaType |
_baseType |
protected JavaType |
_defaultImpl
Type to use as the default implementation, if type id is
missing or can not be resolved.
|
protected JsonDeserializer<Object> |
_defaultImplDeserializer |
protected Map<String,JsonDeserializer<Object>> |
_deserializers
For efficient operation we will lazily build mappings from type ids
to actual deserializers, once needed.
|
protected TypeIdResolver |
_idResolver |
protected BeanProperty |
_property
Property that contains value for which type information
is included; null if value is a root value.
|
protected boolean |
_typeIdVisible |
protected String |
_typePropertyName
Name of type property used; needed for non-property versions too,
in cases where type id is to be exposed as part of JSON.
|
| Modifier | Constructor and Description |
|---|---|
protected |
TypeDeserializerBase(JavaType baseType,
TypeIdResolver idRes,
String typePropertyName,
boolean typeIdVisible,
JavaType defaultImpl) |
protected |
TypeDeserializerBase(TypeDeserializerBase src,
BeanProperty property) |
| Modifier and Type | Method and Description |
|---|---|
protected Object |
_deserializeWithNativeTypeId(JsonParser jp,
DeserializationContext ctxt)
Deprecated.
|
protected Object |
_deserializeWithNativeTypeId(JsonParser jp,
DeserializationContext ctxt,
Object typeId)
Helper method called when
JsonParser indicates that it can use
so-called native type ids, and such type id has been found. |
protected JsonDeserializer<Object> |
_findDefaultImplDeserializer(DeserializationContext ctxt) |
protected JsonDeserializer<Object> |
_findDeserializer(DeserializationContext ctxt,
String typeId) |
protected JavaType |
_handleUnknownTypeId(DeserializationContext ctxt,
String typeId,
TypeIdResolver idResolver,
JavaType baseType)
Helper method called when given type id can not be resolved into
concrete deserializer either directly (using given
TypeIdResolver),
or using default type. |
String |
baseTypeName() |
abstract TypeDeserializer |
forProperty(BeanProperty prop)
Method called to create contextual version, to be used for
values of given property.
|
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)
|
String |
getPropertyName()
Name of property that contains type information, if
property-based inclusion is used.
|
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.
|
String |
toString() |
deserializeIfNatural, deserializeIfNatural, deserializeTypedFromAny, deserializeTypedFromArray, deserializeTypedFromObject, deserializeTypedFromScalarprotected final TypeIdResolver _idResolver
protected final JavaType _baseType
protected final BeanProperty _property
forProperty(com.fasterxml.jackson.databind.BeanProperty) is called to create
a copy.protected final JavaType _defaultImpl
protected final String _typePropertyName
protected final boolean _typeIdVisible
protected final Map<String,JsonDeserializer<Object>> _deserializers
protected JsonDeserializer<Object> _defaultImplDeserializer
protected TypeDeserializerBase(JavaType baseType, TypeIdResolver idRes, String typePropertyName, boolean typeIdVisible, JavaType defaultImpl)
protected TypeDeserializerBase(TypeDeserializerBase src, BeanProperty property)
public abstract TypeDeserializer forProperty(BeanProperty prop)
TypeDeserializerCollection or Map
valued properties).forProperty in class TypeDeserializerpublic abstract JsonTypeInfo.As getTypeInclusion()
TypeDeserializergetTypeInclusion in class TypeDeserializerpublic String baseTypeName()
public final String getPropertyName()
TypeDeserializergetPropertyName in class TypeDeserializerpublic TypeIdResolver getTypeIdResolver()
TypeDeserializergetTypeIdResolver in class TypeDeserializerpublic Class<?> getDefaultImpl()
TypeDeserializergetDefaultImpl in class TypeDeserializerprotected final JsonDeserializer<Object> _findDeserializer(DeserializationContext ctxt, String typeId) throws IOException
IOExceptionprotected final JsonDeserializer<Object> _findDefaultImplDeserializer(DeserializationContext ctxt) throws IOException
IOException@Deprecated protected Object _deserializeWithNativeTypeId(JsonParser jp, DeserializationContext ctxt) throws IOException
JsonParser indicates that it can use
so-called native type ids. Assumption from there is that only native
type ids are to be used.IOExceptionprotected Object _deserializeWithNativeTypeId(JsonParser jp, DeserializationContext ctxt, Object typeId) throws IOException
JsonParser indicates that it can use
so-called native type ids, and such type id has been found.IOExceptionprotected JavaType _handleUnknownTypeId(DeserializationContext ctxt, String typeId, TypeIdResolver idResolver, JavaType baseType) throws IOException
TypeIdResolver),
or using default type.
Default implementation simply throws a JsonMappingException to
indicate the problem; sub-classes may chooseJsonDeserializer
should return that deserializer; otherwise throw an exception to indicate
the problem.IOExceptionCopyright © 2008–2016 FasterXML. All rights reserved.