com.fasterxml.jackson.databind.jsontype.impl
Class TypeDeserializerBase

java.lang.Object
  extended by com.fasterxml.jackson.databind.jsontype.TypeDeserializer
      extended by com.fasterxml.jackson.databind.jsontype.impl.TypeDeserializerBase
Direct Known Subclasses:
AsArrayTypeDeserializer, AsWrapperTypeDeserializer

public abstract class TypeDeserializerBase
extends TypeDeserializer

Base class for all standard Jackson TypeDeserializers.


Field Summary
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  HashMap<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.
 
Constructor Summary
protected TypeDeserializerBase(JavaType baseType, TypeIdResolver idRes, String typePropertyName, boolean typeIdVisible, Class<?> defaultImpl)
           
protected TypeDeserializerBase(TypeDeserializerBase src, BeanProperty property)
           
 
Method Summary
protected  JsonDeserializer<Object> _findDefaultImplDeserializer(DeserializationContext ctxt)
           
protected  JsonDeserializer<Object> _findDeserializer(DeserializationContext ctxt, String typeId)
           
 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  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.
 String toString()
           
 
Methods inherited from class com.fasterxml.jackson.databind.jsontype.TypeDeserializer
deserializeTypedFromAny, deserializeTypedFromArray, deserializeTypedFromObject, deserializeTypedFromScalar
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

_idResolver

protected final TypeIdResolver _idResolver

_baseType

protected final JavaType _baseType

_property

protected final BeanProperty _property
Property that contains value for which type information is included; null if value is a root value. Note that this value is not assigned during construction but only when forProperty(com.fasterxml.jackson.databind.BeanProperty) is called to create a copy.


_defaultImpl

protected final JavaType _defaultImpl
Type to use as the default implementation, if type id is missing or can not be resolved.


_typePropertyName

protected final 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.


_typeIdVisible

protected final boolean _typeIdVisible

_deserializers

protected final HashMap<String,JsonDeserializer<Object>> _deserializers
For efficient operation we will lazily build mappings from type ids to actual deserializers, once needed.


_defaultImplDeserializer

protected JsonDeserializer<Object> _defaultImplDeserializer
Constructor Detail

TypeDeserializerBase

protected TypeDeserializerBase(JavaType baseType,
                               TypeIdResolver idRes,
                               String typePropertyName,
                               boolean typeIdVisible,
                               Class<?> defaultImpl)

TypeDeserializerBase

protected TypeDeserializerBase(TypeDeserializerBase src,
                               BeanProperty property)
Method Detail

forProperty

public abstract TypeDeserializer forProperty(BeanProperty prop)
Description copied from class: TypeDeserializer
Method called to create contextual version, to be used for values of given property. This may be the type itself (as is the case for bean properties), or values contained (for Collection or Map valued properties).

Specified by:
forProperty in class TypeDeserializer

getTypeInclusion

public abstract com.fasterxml.jackson.annotation.JsonTypeInfo.As getTypeInclusion()
Description copied from class: TypeDeserializer
Accessor for type information inclusion method that deserializer uses; indicates how type information is (expected to be) embedded in JSON input.

Specified by:
getTypeInclusion in class TypeDeserializer

baseTypeName

public String baseTypeName()

getPropertyName

public final String getPropertyName()
Description copied from class: TypeDeserializer
Name of property that contains type information, if property-based inclusion is used.

Specified by:
getPropertyName in class TypeDeserializer

getTypeIdResolver

public TypeIdResolver getTypeIdResolver()
Description copied from class: TypeDeserializer
Accessor for object that handles conversions between types and matching type ids.

Specified by:
getTypeIdResolver in class TypeDeserializer

getDefaultImpl

public Class<?> getDefaultImpl()
Description copied from class: TypeDeserializer
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)

Specified by:
getDefaultImpl in class TypeDeserializer

toString

public String toString()
Overrides:
toString in class Object

_findDeserializer

protected final JsonDeserializer<Object> _findDeserializer(DeserializationContext ctxt,
                                                           String typeId)
                                                    throws IOException,
                                                           com.fasterxml.jackson.core.JsonProcessingException
Throws:
IOException
com.fasterxml.jackson.core.JsonProcessingException

_findDefaultImplDeserializer

protected final JsonDeserializer<Object> _findDefaultImplDeserializer(DeserializationContext ctxt)
                                                               throws IOException,
                                                                      com.fasterxml.jackson.core.JsonProcessingException
Throws:
IOException
com.fasterxml.jackson.core.JsonProcessingException


Copyright © 2012 fasterxml.com. All Rights Reserved.