TypeNameIdResolver
Date: 2016-12-04

com.fasterxml.jackson.databind.jsontype.impl

## Class TypeNameIdResolver

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

- All Implemented Interfaces:
    TypeIdResolver

      public class TypeNameIdResolver
      extends TypeIdResolverBase

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected MapperConfig<?>` | `_config`
    `protected java.util.Map<java.lang.String,JavaType>` | `_idToType` Mappings from type id to JavaType, used for deserialization
    `protected java.util.Map<java.lang.String,java.lang.String>` | `_typeToId` Mappings from class name to type id, used for serialization

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

      `_baseType, _typeFactory`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `TypeNameIdResolver(MapperConfig<?> config, JavaType baseType, java.util.Map<java.lang.String,java.lang.String> typeToId, java.util.Map<java.lang.String,JavaType> idToType)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected static java.lang.String` | `_defaultTypeId(java.lang.Class<?> cls)` If no name was explicitly given for a class, we will just use non-qualified class name
    `protected JavaType` | `_typeFromId(java.lang.String id)`
    `static TypeNameIdResolver` | `construct(MapperConfig<?> config, JavaType baseType, java.util.Collection<NamedType> subtypes, boolean forSer, boolean forDeser)`
    `java.lang.String` | `getDescForKnownTypeIds()` Helper method used to get a simple description of all known type ids, for use in error messages.
    `com.fasterxml.jackson.annotation.JsonTypeInfo.Id` | `getMechanism()` Accessor for mechanism that this resolver uses for determining type id from type.
    `protected java.lang.String` | `idFromClass(java.lang.Class<?> clazz)`
    `java.lang.String` | `idFromValue(java.lang.Object value)` Method called to serialize type of the type of given value as a String to include in serialized JSON content.
    `java.lang.String` | `idFromValueAndType(java.lang.Object value, java.lang.Class<?> type)` Alternative method used for determining type from combination of value and type, using suggested type (that serializer provides) and possibly value of that type.
    `java.lang.String` | `toString()`
    `JavaType` | `typeFromId(DatabindContext context, java.lang.String id)` Method called to resolve type from given type identifier.

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

      `idFromBaseType, init`

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

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

- - ### Field Detail

    - #### _config

          protected final MapperConfig<?> _config

    - #### _typeToId

          protected final java.util.Map<java.lang.String,java.lang.String> _typeToId

      Mappings from class name to type id, used for serialization

    - #### _idToType

          protected final java.util.Map<java.lang.String,JavaType> _idToType

      Mappings from type id to JavaType, used for deserialization

  - ### Constructor Detail

    - #### TypeNameIdResolver

          protected TypeNameIdResolver(MapperConfig<?> config,
                            JavaType baseType,
                            java.util.Map<java.lang.String,java.lang.String> typeToId,
                            java.util.Map<java.lang.String,JavaType> idToType)

  - ### Method Detail

    - #### construct

          public static TypeNameIdResolver construct(MapperConfig<?> config,
                                     JavaType baseType,
                                     java.util.Collection<NamedType> subtypes,
                                     boolean forSer,
                                     boolean forDeser)

    - #### getMechanism

          public com.fasterxml.jackson.annotation.JsonTypeInfo.Id getMechanism()

      Description copied from interface: `TypeIdResolver`
      Accessor for mechanism that this resolver uses for determining type id from type. Mostly informational; not required to be called or used.

    - #### idFromValue

          public java.lang.String idFromValue(java.lang.Object value)

      Description copied from interface: `TypeIdResolver`
      Method called to serialize type of the type of given value as a String to include in serialized JSON content.

    - #### idFromClass

          protected java.lang.String idFromClass(java.lang.Class<?> clazz)

    - #### idFromValueAndType

          public java.lang.String idFromValueAndType(java.lang.Object value,
                                            java.lang.Class<?> type)

      Description copied from interface: `TypeIdResolver`
      Alternative method used for determining type from combination of value and type, using suggested type (that serializer provides) and possibly value of that type. Most common implementation will use suggested type as is.

    - #### typeFromId

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

      Description copied from interface: `TypeIdResolver`
      Method called to resolve type from given type identifier.
      Specified by:
        `typeFromId` in interface `TypeIdResolver`
      Overrides:
        `typeFromId` in class `TypeIdResolverBase`

    - #### _typeFromId

          protected JavaType _typeFromId(java.lang.String id)

    - #### getDescForKnownTypeIds

          public java.lang.String getDescForKnownTypeIds()

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

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `java.lang.Object`

    - #### _defaultTypeId

          protected static java.lang.String _defaultTypeId(java.lang.Class<?> cls)

      If no name was explicitly given for a class, we will just use non-qualified class name