## com.fasterxml.jackson.databind.jsontype.impl
Class StdTypeResolverBuilder

    java.lang.Object
      com.fasterxml.jackson.databind.jsontype.impl.StdTypeResolverBuilder

All Implemented Interfaces:
  TypeResolverBuilder<StdTypeResolverBuilder>

Direct Known Subclasses:
  ObjectMapper.DefaultTypeResolverBuilder

    public class StdTypeResolverBuilder

extends Object
implements TypeResolverBuilder<StdTypeResolverBuilder>

Default `TypeResolverBuilder` implementation.

Author:
  tatu

Field Summary
`protected TypeIdResolver` `_customIdResolver`
`protected Class<?>` `_defaultImpl` Default class to use in case type information is not available or is broken.
`protected JsonTypeInfo.Id` `_idType`
`protected JsonTypeInfo.As` `_includeAs`
`protected boolean` `_typeIdVisible` Whether type id should be exposed to deserializers or not
`protected String` `_typeProperty`

Constructor Summary
`StdTypeResolverBuilder()`

Method Summary
`TypeDeserializer` `buildTypeDeserializer(DeserializationConfig config, JavaType baseType, Collection<NamedType> subtypes)` Method for building type deserializer based on current configuration of this builder.
`TypeSerializer` `buildTypeSerializer(SerializationConfig config, JavaType baseType, Collection<NamedType> subtypes)` 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.
`boolean` `isTypeIdVisible()`
`static StdTypeResolverBuilder` `noTypeInfoBuilder()`
`StdTypeResolverBuilder` `typeIdVisibility(boolean isVisible)` Method for specifying whether type id should be visible to `JsonDeserializer`s or not.
`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

### _typeIdVisible

    protected boolean _typeIdVisible

  Whether type id should be exposed to deserializers or not

### _defaultImpl

    protected Class<?> _defaultImpl

  Default class to use in case type information is not available or is broken.

### _customIdResolver

    protected TypeIdResolver _customIdResolver

Constructor Detail

### StdTypeResolverBuilder

    public StdTypeResolverBuilder()

Method Detail

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

  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)

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

### typeIdVisibility

    public StdTypeResolverBuilder typeIdVisibility(boolean isVisible)

  Description copied from interface: `TypeResolverBuilder`
  Method for specifying whether type id should be visible to `JsonDeserializer`s or not.

  Specified by:
    `typeIdVisibility` in interface `TypeResolverBuilder<StdTypeResolverBuilder>`

### getTypeProperty

    public String getTypeProperty()

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

### isTypeIdVisible

    public boolean isTypeIdVisible()

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

Copyright © 2012 fasterxml.com. All Rights Reserved.