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

org.codehaus.jackson.map.jsontype.impl

## Class StdTypeResolverBuilder

- java.lang.Object
- - org.codehaus.jackson.map.jsontype.impl.StdTypeResolverBuilder

- All Implemented Interfaces:
    TypeResolverBuilder<StdTypeResolverBuilder>
  Direct Known Subclasses:
    ObjectMapper.DefaultTypeResolverBuilder

      public class StdTypeResolverBuilder
      extends Object
      implements TypeResolverBuilder<StdTypeResolverBuilder>

  Default `TypeResolverBuilder` implementation.
  Since:
    1.5
  Author:
    tatu

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected TypeIdResolver` | `_customIdResolver`
    `protected Class<?>` | `_defaultImpl`
    `protected JsonTypeInfo.Id` | `_idType`
    `protected JsonTypeInfo.As` | `_includeAs`
    `protected String` | `_typeProperty`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `StdTypeResolverBuilder()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `TypeDeserializer` | `buildTypeDeserializer(DeserializationConfig config, JavaType baseType, Collection<NamedType> subtypes, BeanProperty property)` Method for building type deserializer based on current configuration of this builder.
    `TypeSerializer` | `buildTypeSerializer(SerializationConfig config, JavaType baseType, Collection<NamedType> subtypes, BeanProperty property)` Method for building type serializer based on current configuration of this builder.
    `StdTypeResolverBuilder` | `defaultImpl(Class<?> defaultImpl)` Method for specifying default implementation to use if type id is either not available, or can not be resolved.
    `Class<?>` | `getDefaultImpl()` Accessor for currently configured default type; implementation class that may be used in case no valid type information is available during type resolution
    `String` | `getTypeProperty()`
    `protected TypeIdResolver` | `idResolver(MapperConfig<?> config, JavaType baseType, Collection<NamedType> subtypes, boolean forSer, boolean forDeser)` Helper method that will either return configured custom type id resolver, or construct a standard resolver given configuration.
    `StdTypeResolverBuilder` | `inclusion(JsonTypeInfo.As includeAs)` Method for specifying mechanism to use for including type metadata in JSON.
    `StdTypeResolverBuilder` | `init(JsonTypeInfo.Id idType, TypeIdResolver idRes)` Initialization method that is called right after constructing the builder instance.
    `static StdTypeResolverBuilder` | `noTypeInfoBuilder()`
    `StdTypeResolverBuilder` | `typeProperty(String typeIdPropName)` Method for constructing an instance with specified type property name (property name to use for type id when using "as-property" inclusion).

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

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

- - ### Field Detail

    - #### _idType

          protected JsonTypeInfo.Id _idType

    - #### _includeAs

          protected JsonTypeInfo.As _includeAs

    - #### _typeProperty

          protected String _typeProperty

    - #### _defaultImpl

          protected Class<?> _defaultImpl

      Since:
        1.9

    - #### _customIdResolver

          protected TypeIdResolver _customIdResolver

  - ### Constructor Detail

    - #### StdTypeResolverBuilder

          public StdTypeResolverBuilder()

  - ### Method Detail

    - #### getDefaultImpl

          public Class<?> getDefaultImpl()

      Description copied from interface: `TypeResolverBuilder`
      Accessor for currently configured default type; implementation class that may be used in case no valid type information is available during type resolution
      Specified by:
        `getDefaultImpl` in interface `TypeResolverBuilder<StdTypeResolverBuilder>`

    - #### noTypeInfoBuilder

          public static StdTypeResolverBuilder noTypeInfoBuilder()

    - #### init

          public StdTypeResolverBuilder init(JsonTypeInfo.Id idType,
                                    TypeIdResolver idRes)

      Description copied from interface: `TypeResolverBuilder`
      Initialization method that is called right after constructing the builder instance.
      Specified by:
        `init` in interface `TypeResolverBuilder<StdTypeResolverBuilder>`
      Parameters:
        `idType` - Which type metadata is used
        `idRes` - (optional) Custom type id resolver used, if any
      Returns:
        Resulting builder instance (usually this builder, but not necessarily)

    - #### buildTypeSerializer

          public TypeSerializer buildTypeSerializer(SerializationConfig config,
                                           JavaType baseType,
                                           Collection<NamedType> subtypes,
                                           BeanProperty property)

      Description copied from interface: `TypeResolverBuilder`
      Method for building type serializer based on current configuration of this builder.
      Specified by:
        `buildTypeSerializer` in interface `TypeResolverBuilder<StdTypeResolverBuilder>`
        `baseType` - Base type that constructed resolver will handle; super type of all types it will be used for.

    - #### buildTypeDeserializer

          public TypeDeserializer buildTypeDeserializer(DeserializationConfig config,
                                               JavaType baseType,
                                               Collection<NamedType> subtypes,
                                               BeanProperty property)

      Description copied from interface: `TypeResolverBuilder`
      Method for building type deserializer based on current configuration of this builder.
      Specified by:
        `buildTypeDeserializer` in interface `TypeResolverBuilder<StdTypeResolverBuilder>`
        `baseType` - Base type that constructed resolver will handle; super type of all types it will be used for.
        `subtypes` - Known subtypes of the base type.

    - #### inclusion

          public StdTypeResolverBuilder inclusion(JsonTypeInfo.As includeAs)

      Description copied from interface: `TypeResolverBuilder`
      Method for specifying mechanism to use for including type metadata in JSON. If not explicitly called, setting defaults to `JsonTypeInfo.As.PROPERTY`.
      Specified by:
        `inclusion` in interface `TypeResolverBuilder<StdTypeResolverBuilder>`
      Parameters:
        `includeAs` - Mechanism used for including type metadata in JSON
      Returns:
        Resulting builder instance (usually this builder, but not necessarily)

    - #### typeProperty

          public StdTypeResolverBuilder typeProperty(String typeIdPropName)

      Method for constructing an instance with specified type property name (property name to use for type id when using "as-property" inclusion).
      Specified by:
        `typeProperty` in interface `TypeResolverBuilder<StdTypeResolverBuilder>`
      Parameters:
        `typeIdPropName` - Name of JSON property to use for including type information
      Returns:
        Resulting builder instance (usually this builder, but not necessarily)

    - #### defaultImpl

          public StdTypeResolverBuilder defaultImpl(Class<?> defaultImpl)

      Description copied from interface: `TypeResolverBuilder`
      Method for specifying default implementation to use if type id is either not available, or can not be resolved.
      Specified by:
        `defaultImpl` in interface `TypeResolverBuilder<StdTypeResolverBuilder>`

    - #### getTypeProperty

          public String getTypeProperty()

    - #### idResolver

          protected TypeIdResolver idResolver(MapperConfig<?> config,
                                  JavaType baseType,
                                  Collection<NamedType> subtypes,
                                  boolean forSer,
                                  boolean forDeser)

      Helper method that will either return configured custom type id resolver, or construct a standard resolver given configuration.