public abstract class TypeDeserializerBase extends TypeDeserializer implements Serializable
TypeDeserializer
s.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, deserializeTypedFromScalar
protected 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)
TypeDeserializer
Collection
or Map
valued properties).forProperty
in class TypeDeserializer
public abstract JsonTypeInfo.As getTypeInclusion()
TypeDeserializer
getTypeInclusion
in class TypeDeserializer
public String baseTypeName()
public final String getPropertyName()
TypeDeserializer
getPropertyName
in class TypeDeserializer
public TypeIdResolver getTypeIdResolver()
TypeDeserializer
getTypeIdResolver
in class TypeDeserializer
public Class<?> getDefaultImpl()
TypeDeserializer
getDefaultImpl
in class TypeDeserializer
protected final JsonDeserializer<Object> _findDeserializer(DeserializationContext ctxt, String typeId) throws IOException
IOException
protected 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.IOException
protected 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.IOException
protected 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.IOException
Copyright © 2008–2016 FasterXML. All rights reserved.