ObjectMapper.DefaultTypeResolverBuilder
Date: 2016-12-04

com.fasterxml.jackson.databind

## Class ObjectMapper.DefaultTypeResolverBuilder

- java.lang.Object
- - com.fasterxml.jackson.databind.jsontype.impl.StdTypeResolverBuilder
  - - com.fasterxml.jackson.databind.ObjectMapper.DefaultTypeResolverBuilder

- All Implemented Interfaces:
    TypeResolverBuilder<StdTypeResolverBuilder>, java.io.Serializable
  Enclosing class:
    ObjectMapper

      public static class ObjectMapper.DefaultTypeResolverBuilder
      extends StdTypeResolverBuilder
      implements java.io.Serializable

  Customized `TypeResolverBuilder` that provides type resolver builders used with so-called "default typing" (see `ObjectMapper.enableDefaultTyping()` for details).

  Type resolver construction is based on configuration: implementation takes care of only providing builders in cases where type information should be applied. This is important since build calls may be sent for any and all types, and type information should NOT be applied to all of them.

  See Also:
    Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected ObjectMapper.DefaultTyping` | `_appliesFor` Definition of what types is this default typer valid for.

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

      `_customIdResolver, _defaultImpl, _idType, _includeAs, _typeIdVisible, _typeProperty`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ObjectMapper.DefaultTypeResolverBuilder(ObjectMapper.DefaultTyping t)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `TypeDeserializer` | `buildTypeDeserializer(DeserializationConfig config, JavaType baseType, java.util.Collection<NamedType> subtypes)` Method for building type deserializer based on current configuration of this builder.
    `TypeSerializer` | `buildTypeSerializer(SerializationConfig config, JavaType baseType, java.util.Collection<NamedType> subtypes)` Method for building type serializer based on current configuration of this builder.
    `boolean` | `useForType(JavaType t)` Method called to check if the default type handler should be used for given type.

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

      `defaultImpl, getDefaultImpl, getTypeProperty, idResolver, inclusion, init, isTypeIdVisible, noTypeInfoBuilder, typeIdVisibility, typeProperty`

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

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

- - ### Field Detail

    - #### _appliesFor

          protected final ObjectMapper.DefaultTyping _appliesFor

      Definition of what types is this default typer valid for.

  - ### Constructor Detail

    - #### ObjectMapper.DefaultTypeResolverBuilder

          public ObjectMapper.DefaultTypeResolverBuilder(ObjectMapper.DefaultTyping t)

  - ### Method Detail

    - #### buildTypeDeserializer

          public TypeDeserializer buildTypeDeserializer(DeserializationConfig config,
                                               JavaType baseType,
                                               java.util.Collection<NamedType> subtypes)

      Description copied from interface: `TypeResolverBuilder`
      Method for building type deserializer based on current configuration of this builder.
      Specified by:
        `buildTypeDeserializer` in interface `TypeResolverBuilder<StdTypeResolverBuilder>`
      Overrides:
        `buildTypeDeserializer` in class `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.

    - #### buildTypeSerializer

          public TypeSerializer buildTypeSerializer(SerializationConfig config,
                                           JavaType baseType,
                                           java.util.Collection<NamedType> subtypes)

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

    - #### useForType

          public boolean useForType(JavaType t)

      Method called to check if the default type handler should be used for given type. Note: "natural types" (String, Boolean, Integer, Double) will never use typing; that is both due to them being concrete and final, and since actual serializers and deserializers will also ignore any attempts to enforce typing.