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

org.codehaus.jackson.map.jsontype.impl

## Class TypeDeserializerBase

- java.lang.Object
- - org.codehaus.jackson.map.TypeDeserializer
  - - org.codehaus.jackson.map.jsontype.impl.TypeDeserializerBase

- Direct Known Subclasses:
    AsArrayTypeDeserializer, AsWrapperTypeDeserializer

      public abstract class TypeDeserializerBase
      extends TypeDeserializer

  Since:
    1.5
  Author:
    tatus

- - ### Field Summary

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

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `TypeDeserializerBase(JavaType baseType, TypeIdResolver idRes, BeanProperty property)` Deprecated. Since 1.9, use the constructor that takes 'defaultImpl'
    `protected` | `TypeDeserializerBase(JavaType baseType, TypeIdResolver idRes, BeanProperty property, Class<?> defaultImpl)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected JsonDeserializer<Object>` | `_findDefaultImplDeserializer(DeserializationContext ctxt)`
    `protected JsonDeserializer<Object>` | `_findDeserializer(DeserializationContext ctxt, String typeId)`
    `String` | `baseTypeName()`
    `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()`

    - ### Methods inherited from class org.codehaus.jackson.map.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

    - #### _defaultImpl

          protected final JavaType _defaultImpl

      Type to use as the default implementation, if type id is missing or can not be resolved.
      Since:
        1.9

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

      Since:
        1.9

  - ### Constructor Detail

    - #### TypeDeserializerBase

          @Deprecated
          protected TypeDeserializerBase(JavaType baseType,
                                         TypeIdResolver idRes,
                                         BeanProperty property)

      Deprecated. Since 1.9, use the constructor that takes 'defaultImpl'

    - #### TypeDeserializerBase

          protected TypeDeserializerBase(JavaType baseType,
                              TypeIdResolver idRes,
                              BeanProperty property,
                              Class<?> defaultImpl)

  - ### Method Detail

    - #### getTypeInclusion

          public abstract 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 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,
                                                                     JsonProcessingException

      Throws:
        `IOException`
        `JsonProcessingException`

    - #### _findDefaultImplDeserializer

          protected final JsonDeserializer<Object> _findDefaultImplDeserializer(DeserializationContext ctxt)
                                                                         throws IOException,
                                                                                JsonProcessingException

      Throws:
        `IOException`
        `JsonProcessingException`