TypeIdResolverBase
Date: 2016-12-04

com.fasterxml.jackson.databind.jsontype.impl

## Class TypeIdResolverBase

- java.lang.Object
- - com.fasterxml.jackson.databind.jsontype.impl.TypeIdResolverBase

- All Implemented Interfaces:
    TypeIdResolver
  Direct Known Subclasses:
    ClassNameIdResolver, TypeNameIdResolver

      public abstract class TypeIdResolverBase
      extends java.lang.Object
      implements TypeIdResolver

  Partial base implementation of `TypeIdResolver`: all custom implementations are strongly recommended to extend this class, instead of directly implementing `TypeIdResolver`. Note that ALL sub-class need to re-implement `typeFromId(DatabindContext, String)` method; otherwise implementation will not work.

  Note that instances created to be constructed from annotations (`JsonTypeIdResolver`) are always created using no-arguments constructor; protected constructor is only used sub-classes.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected JavaType` | `_baseType` Common base type for all polymorphic instances handled.
    `protected TypeFactory` | `_typeFactory`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `TypeIdResolverBase()`
    `protected` | `TypeIdResolverBase(JavaType baseType, TypeFactory typeFactory)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.String` | `getDescForKnownTypeIds()` Helper method used to get a simple description of all known type ids, for use in error messages.
    `java.lang.String` | `idFromBaseType()` Method that can be called to figure out type id to use for instances of base type (declared type of property).
    `void` | `init(JavaType bt)` Method that will be called once before any type resolution calls; used to initialize instance with configuration.
    `JavaType` | `typeFromId(DatabindContext context, java.lang.String id)` Method called to resolve type from given type identifier.

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

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

    - ### Methods inherited from interface com.fasterxml.jackson.databind.jsontype.TypeIdResolver

      `getMechanism, idFromValue, idFromValueAndType`

- - ### Field Detail

    - #### _typeFactory

          protected final TypeFactory _typeFactory

    - #### _baseType

          protected final JavaType _baseType

      Common base type for all polymorphic instances handled.

  - ### Constructor Detail

    - #### TypeIdResolverBase

          protected TypeIdResolverBase()

    - #### TypeIdResolverBase

          protected TypeIdResolverBase(JavaType baseType,
                            TypeFactory typeFactory)

  - ### Method Detail

    - #### init

          public void init(JavaType bt)

      Description copied from interface: `TypeIdResolver`
      Method that will be called once before any type resolution calls; used to initialize instance with configuration. This is necessary since instances may be created via reflection, without ability to call specific constructor to pass in configuration settings.
      Specified by:
        `init` in interface `TypeIdResolver`
      Parameters:
        `bt` - Base type for which this id resolver instance is used

    - #### idFromBaseType

          public java.lang.String idFromBaseType()

      Description copied from interface: `TypeIdResolver`
      Method that can be called to figure out type id to use for instances of base type (declared type of property). This is usually only used for fallback handling, for cases where real type information is not available for some reason.
      Specified by:
        `idFromBaseType` in interface `TypeIdResolver`

    - #### typeFromId

          public JavaType typeFromId(DatabindContext context,
                            java.lang.String id)
                              throws java.io.IOException

      Description copied from interface: `TypeIdResolver`
      Method called to resolve type from given type identifier.
      Specified by:
        `typeFromId` in interface `TypeIdResolver`
      Throws:
        `java.io.IOException`

    - #### getDescForKnownTypeIds

          public java.lang.String getDescForKnownTypeIds()

      Helper method used to get a simple description of all known type ids, for use in error messages.
      Specified by:
        `getDescForKnownTypeIds` in interface `TypeIdResolver`