org.codehaus.jackson.map.jsontype.impl
Class AsExternalTypeDeserializer

java.lang.Object
  extended by org.codehaus.jackson.map.TypeDeserializer
      extended by org.codehaus.jackson.map.jsontype.impl.TypeDeserializerBase
          extended by org.codehaus.jackson.map.jsontype.impl.AsArrayTypeDeserializer
              extended by org.codehaus.jackson.map.jsontype.impl.AsExternalTypeDeserializer

public class AsExternalTypeDeserializer
extends AsArrayTypeDeserializer

Type deserializer used with JsonTypeInfo.As.EXTERNAL_PROPERTY inclusion mechanism. Actual implementation may look bit strange since it depends on comprehensive pre-processing done by BeanDeserializer to basically transform external type id into structure that looks more like "wrapper-array" style inclusion. This intermediate form is chosen to allow supporting all possible JSON structures.

Since:
1.9

Field Summary
protected  String _typePropertyName
           
 
Fields inherited from class org.codehaus.jackson.map.jsontype.impl.TypeDeserializerBase
_baseType, _defaultImpl, _defaultImplDeserializer, _deserializers, _idResolver, _property
 
Constructor Summary
AsExternalTypeDeserializer(JavaType bt, TypeIdResolver idRes, BeanProperty property, Class<?> defaultImpl, String typePropName)
           
 
Method Summary
 String getPropertyName()
          Name of property that contains type information, if property-based inclusion is used.
 JsonTypeInfo.As getTypeInclusion()
          Accessor for type information inclusion method that deserializer uses; indicates how type information is (expected to be) embedded in JSON input.
 
Methods inherited from class org.codehaus.jackson.map.jsontype.impl.AsArrayTypeDeserializer
_locateTypeId, deserializeTypedFromAny, deserializeTypedFromArray, deserializeTypedFromObject, deserializeTypedFromScalar
 
Methods inherited from class org.codehaus.jackson.map.jsontype.impl.TypeDeserializerBase
_findDefaultImplDeserializer, _findDeserializer, baseTypeName, getDefaultImpl, getTypeIdResolver, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

_typePropertyName

protected final String _typePropertyName
Constructor Detail

AsExternalTypeDeserializer

public AsExternalTypeDeserializer(JavaType bt,
                                  TypeIdResolver idRes,
                                  BeanProperty property,
                                  Class<?> defaultImpl,
                                  String typePropName)
Method Detail

getTypeInclusion

public 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.

Overrides:
getTypeInclusion in class AsArrayTypeDeserializer

getPropertyName

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

Overrides:
getPropertyName in class TypeDeserializerBase