com.fasterxml.jackson.databind.jsontype.impl

## Class AsExternalTypeDeserializer

- java.lang.Object
- - com.fasterxml.jackson.databind.jsontype.TypeDeserializer
  - - com.fasterxml.jackson.databind.jsontype.impl.TypeDeserializerBase
    - - com.fasterxml.jackson.databind.jsontype.impl.AsArrayTypeDeserializer
      - - com.fasterxml.jackson.databind.jsontype.impl.AsExternalTypeDeserializer

All Implemented Interfaces:
  Serializable

    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.

See Also:
  Serialized Form

### Field Summary

### Fields inherited from class com.fasterxml.jackson.databind.jsontype.impl.TypeDeserializerBase

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

### Constructor Summary

Constructors
Constructor and Description
`AsExternalTypeDeserializer(AsExternalTypeDeserializer src, BeanProperty property)`
`AsExternalTypeDeserializer(JavaType bt, TypeIdResolver idRes, String typePropertyName, boolean typeIdVisible, JavaType defaultImpl)`

### Method Summary

Methods
`protected boolean` `_usesExternalId()`
`TypeDeserializer` `forProperty(BeanProperty prop)` Method called to create contextual version, to be used for values of given property.
`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 com.fasterxml.jackson.databind.jsontype.impl.AsArrayTypeDeserializer

`_deserialize, _locateTypeId, deserializeTypedFromAny, deserializeTypedFromArray, deserializeTypedFromObject, deserializeTypedFromScalar`

### Methods inherited from class com.fasterxml.jackson.databind.jsontype.impl.TypeDeserializerBase

`_deserializeWithNativeTypeId, _deserializeWithNativeTypeId, _findDefaultImplDeserializer, _findDeserializer, _handleUnknownTypeId, baseType, baseTypeName, getDefaultImpl, getPropertyName, getTypeIdResolver, toString`

### Methods inherited from class com.fasterxml.jackson.databind.jsontype.TypeDeserializer

`deserializeIfNatural, deserializeIfNatural`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Constructor Detail

#### AsExternalTypeDeserializer

    public AsExternalTypeDeserializer(JavaType bt,
                              TypeIdResolver idRes,
                              String typePropertyName,
                              boolean typeIdVisible,
                              JavaType defaultImpl)

Since:
  2.8

#### AsExternalTypeDeserializer

    public AsExternalTypeDeserializer(AsExternalTypeDeserializer src,
                              BeanProperty property)

### Method Detail

#### forProperty

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

Overrides:
  `forProperty` in class `AsArrayTypeDeserializer`

#### 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`

#### _usesExternalId

    protected boolean _usesExternalId()

Overrides:
  `_usesExternalId` in class `AsArrayTypeDeserializer`