org.codehaus.jackson.map.jsontype.impl
Class StdTypeResolverBuilder

java.lang.Object
  extended by 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
protected  TypeIdResolver _customIdResolver
           
protected  Class<?> _defaultImpl
           
protected  JsonTypeInfo.Id _idType
           
protected  JsonTypeInfo.As _includeAs
           
protected  String _typeProperty
           
 
Constructor Summary
StdTypeResolverBuilder()
           
 
Method Summary
 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.