AsExternalTypeDeserializer (Jackson JSON Processor)
Date: 2013-07-14

org.codehaus.jackson.map.jsontype.impl

## Class AsExternalTypeDeserializer

- java.lang.Object
- - org.codehaus.jackson.map.TypeDeserializer
  - - org.codehaus.jackson.map.jsontype.impl.TypeDeserializerBase
    - - org.codehaus.jackson.map.jsontype.impl.AsArrayTypeDeserializer
      - - 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

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected String` | `_typePropertyName`

    - ### Fields inherited from class org.codehaus.jackson.map.jsontype.impl.TypeDeserializerBase

      `_baseType, _defaultImpl, _defaultImplDeserializer, _deserializers, _idResolver, _property`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `AsExternalTypeDeserializer(JavaType bt, TypeIdResolver idRes, BeanProperty property, Class<?> defaultImpl, String typePropName)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `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`