com.fasterxml.jackson.databind.cfg
Class MapperConfig<T extends MapperConfig<T>>

java.lang.Object
  extended by com.fasterxml.jackson.databind.cfg.MapperConfig<T>
All Implemented Interfaces:
ClassIntrospector.MixInResolver, Serializable
Direct Known Subclasses:
MapperConfigBase

public abstract class MapperConfig<T extends MapperConfig<T>>
extends Object
implements ClassIntrospector.MixInResolver, Serializable

Interface that defines functionality accessible through both serialization and deserialization configuration objects; accessors to mode-independent configuration settings and such. In addition, shared features are defined in MapperFeature.

Small part of implementation is included here by aggregating BaseSettings instance that contains configuration that is shared between different types of instances.

See Also:
Serialized Form

Field Summary
protected  BaseSettings _base
          Immutable container object for simple configuration settings.
protected  int _mapperFeatures
          Set of shared mapper features enabled.
 
Constructor Summary
protected MapperConfig(BaseSettings base, int mapperFeatures)
           
protected MapperConfig(MapperConfig<T> src)
           
 
Method Summary
 boolean canOverrideAccessModifiers()
          Accessor for determining whether it is ok to try to force override of access modifiers to be able to get or set values of non-public Methods, Fields; to invoke non-public Constructors, Methods; or to instantiate non-public Classes.
static
<F extends Enum<F> & ConfigFeature>
int
collectFeatureDefaults(Class<F> enumClass)
          Method that calculates bit set (flags) of all features that are enabled by default.
 JavaType constructSpecializedType(JavaType baseType, Class<?> subclass)
           
 JavaType constructType(Class<?> cls)
          Helper method that will construct JavaType for given raw class.
 JavaType constructType(TypeReference<?> valueTypeRef)
          Helper method that will construct JavaType for given type reference This is a simple short-cut for:
abstract  Class<?> getActiveView()
          Accessor for finding currently active view, if any (null if none)
 AnnotationIntrospector getAnnotationIntrospector()
          Method for getting AnnotationIntrospector configured to introspect annotation values used for configuration.
 Base64Variant getBase64Variant()
          Method called during deserialization if Base64 encoded content needs to be decoded.
 ClassIntrospector getClassIntrospector()
           
 DateFormat getDateFormat()
          Method for accessing currently configured (textual) date format that will be used for reading or writing date values (in case of writing, only if textual output is configured; not if dates are to be serialized as time stamps).
 TypeResolverBuilder<?> getDefaultTyper(JavaType baseType)
          Method called to locate a type info handler for types that do not have one explicitly declared via annotations (or other configuration).
 VisibilityChecker<?> getDefaultVisibilityChecker()
          Accessor for object used for determining whether specific property elements (method, constructors, fields) can be auto-detected based on their visibility (access modifiers).
 HandlerInstantiator getHandlerInstantiator()
           
 Locale getLocale()
          Method for accessing the default Locale to use for formatting, unless overridden by local annotations.
 PropertyNamingStrategy getPropertyNamingStrategy()
           
abstract  SubtypeResolver getSubtypeResolver()
           
 TimeZone getTimeZone()
          Method for accessing the default TimeZone to use for formatting, unless overridden by local annotations.
 TypeFactory getTypeFactory()
           
 BeanDescription introspectClassAnnotations(Class<?> cls)
          Accessor for getting bean description that only contains class annotations: useful if no getter/setter/creator information is needed.
abstract  BeanDescription introspectClassAnnotations(JavaType type)
          Accessor for getting bean description that only contains class annotations: useful if no getter/setter/creator information is needed.
 BeanDescription introspectDirectClassAnnotations(Class<?> cls)
          Accessor for getting bean description that only contains immediate class annotations: ones from the class, and its direct mix-in, if any, but not from super types.
abstract  BeanDescription introspectDirectClassAnnotations(JavaType type)
          Accessor for getting bean description that only contains immediate class annotations: ones from the class, and its direct mix-in, if any, but not from super types.
 boolean isAnnotationProcessingEnabled()
          Method for determining whether annotation processing is enabled or not (default settings are typically that it is enabled; must explicitly disable).
 boolean isEnabled(MapperFeature f)
          Accessor for simple mapper features (which are shared for serialization, deserialization)
 boolean shouldSortPropertiesAlphabetically()
          Accessor for checking whether default settings for property handling indicate that properties should be alphabetically ordered or not.
 TypeIdResolver typeIdResolverInstance(Annotated annotated, Class<? extends TypeIdResolver> resolverClass)
          Method that can be called to obtain an instance of TypeIdResolver of specified type.
 TypeResolverBuilder<?> typeResolverBuilderInstance(Annotated annotated, Class<? extends TypeResolverBuilder<?>> builderClass)
          Method that can be called to obtain an instance of TypeIdResolver of specified type.
abstract  boolean useRootWrapping()
          Accessor for checking whether configuration indicates that "root wrapping" (use of an extra property/name pair at root level) is expected or not.
abstract  T with(MapperFeature... features)
          Method for constructing and returning a new instance with specified mapper features enabled.
abstract  T without(MapperFeature... features)
          Method for constructing and returning a new instance with specified mapper features disabled.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.fasterxml.jackson.databind.introspect.ClassIntrospector.MixInResolver
findMixInClassFor
 

Field Detail

_mapperFeatures

protected final int _mapperFeatures
Set of shared mapper features enabled.


_base

protected final BaseSettings _base
Immutable container object for simple configuration settings.

Constructor Detail

MapperConfig

protected MapperConfig(BaseSettings base,
                       int mapperFeatures)

MapperConfig

protected MapperConfig(MapperConfig<T> src)
Method Detail

collectFeatureDefaults

public static <F extends Enum<F> & ConfigFeature> int collectFeatureDefaults(Class<F> enumClass)
Method that calculates bit set (flags) of all features that are enabled by default.


with

public abstract T with(MapperFeature... features)
Method for constructing and returning a new instance with specified mapper features enabled.


without

public abstract T without(MapperFeature... features)
Method for constructing and returning a new instance with specified mapper features disabled.


isEnabled

public final boolean isEnabled(MapperFeature f)
Accessor for simple mapper features (which are shared for serialization, deserialization)


isAnnotationProcessingEnabled

public final boolean isAnnotationProcessingEnabled()
Method for determining whether annotation processing is enabled or not (default settings are typically that it is enabled; must explicitly disable).

Returns:
True if annotation processing is enabled; false if not

canOverrideAccessModifiers

public final boolean canOverrideAccessModifiers()
Accessor for determining whether it is ok to try to force override of access modifiers to be able to get or set values of non-public Methods, Fields; to invoke non-public Constructors, Methods; or to instantiate non-public Classes. By default this is enabled, but on some platforms it needs to be prevented since if this would violate security constraints and cause failures.

Returns:
True if access modifier overriding is allowed (and may be done for any Field, Method, Constructor or Class); false to prevent any attempts to override.

shouldSortPropertiesAlphabetically

public final boolean shouldSortPropertiesAlphabetically()
Accessor for checking whether default settings for property handling indicate that properties should be alphabetically ordered or not.


useRootWrapping

public abstract boolean useRootWrapping()
Accessor for checking whether configuration indicates that "root wrapping" (use of an extra property/name pair at root level) is expected or not.


getClassIntrospector

public ClassIntrospector getClassIntrospector()

getAnnotationIntrospector

public AnnotationIntrospector getAnnotationIntrospector()
Method for getting AnnotationIntrospector configured to introspect annotation values used for configuration.

Non-final since it is actually overridden by sub-classes (for now?)


getDefaultVisibilityChecker

public VisibilityChecker<?> getDefaultVisibilityChecker()
Accessor for object used for determining whether specific property elements (method, constructors, fields) can be auto-detected based on their visibility (access modifiers). Can be changed to allow different minimum visibility levels for auto-detection. Note that this is the global handler; individual types (classes) can further override active checker used (using JsonAutoDetect annotation)


getPropertyNamingStrategy

public final PropertyNamingStrategy getPropertyNamingStrategy()

getHandlerInstantiator

public final HandlerInstantiator getHandlerInstantiator()

getDefaultTyper

public final TypeResolverBuilder<?> getDefaultTyper(JavaType baseType)
Method called to locate a type info handler for types that do not have one explicitly declared via annotations (or other configuration). If such default handler is configured, it is returned; otherwise null is returned.


getSubtypeResolver

public abstract SubtypeResolver getSubtypeResolver()

getTypeFactory

public final TypeFactory getTypeFactory()

constructType

public final JavaType constructType(Class<?> cls)
Helper method that will construct JavaType for given raw class. This is a simple short-cut for:
    getTypeFactory().constructType(cls);


constructType

public final JavaType constructType(TypeReference<?> valueTypeRef)
Helper method that will construct JavaType for given type reference This is a simple short-cut for:
    getTypeFactory().constructType(valueTypeRef);


constructSpecializedType

public JavaType constructSpecializedType(JavaType baseType,
                                         Class<?> subclass)

introspectClassAnnotations

public BeanDescription introspectClassAnnotations(Class<?> cls)
Accessor for getting bean description that only contains class annotations: useful if no getter/setter/creator information is needed.


introspectClassAnnotations

public abstract BeanDescription introspectClassAnnotations(JavaType type)
Accessor for getting bean description that only contains class annotations: useful if no getter/setter/creator information is needed.


introspectDirectClassAnnotations

public BeanDescription introspectDirectClassAnnotations(Class<?> cls)
Accessor for getting bean description that only contains immediate class annotations: ones from the class, and its direct mix-in, if any, but not from super types.


introspectDirectClassAnnotations

public abstract BeanDescription introspectDirectClassAnnotations(JavaType type)
Accessor for getting bean description that only contains immediate class annotations: ones from the class, and its direct mix-in, if any, but not from super types.


getDateFormat

public final DateFormat getDateFormat()
Method for accessing currently configured (textual) date format that will be used for reading or writing date values (in case of writing, only if textual output is configured; not if dates are to be serialized as time stamps).

Note that typically DateFormat instances are not thread-safe (at least ones provided by JDK): this means that calling code should clone format instance before using it.

This method is usually only called by framework itself, since there are convenience methods available via DeserializationContext and SerializerProvider that take care of cloning and thread-safe reuse.


getLocale

public final Locale getLocale()
Method for accessing the default Locale to use for formatting, unless overridden by local annotations. Initially set to Locale.getDefault().


getTimeZone

public final TimeZone getTimeZone()
Method for accessing the default TimeZone to use for formatting, unless overridden by local annotations. Initially set to TimeZone.getDefault().


getActiveView

public abstract Class<?> getActiveView()
Accessor for finding currently active view, if any (null if none)


getBase64Variant

public Base64Variant getBase64Variant()
Method called during deserialization if Base64 encoded content needs to be decoded. Default version just returns default Jackson uses, which is modified-mime which does not add linefeeds (because those would have to be escaped in JSON strings); but this can be configured on ObjectWriter.


typeResolverBuilderInstance

public TypeResolverBuilder<?> typeResolverBuilderInstance(Annotated annotated,
                                                          Class<? extends TypeResolverBuilder<?>> builderClass)
Method that can be called to obtain an instance of TypeIdResolver of specified type.


typeIdResolverInstance

public TypeIdResolver typeIdResolverInstance(Annotated annotated,
                                             Class<? extends TypeIdResolver> resolverClass)
Method that can be called to obtain an instance of TypeIdResolver of specified type.



Copyright © 2012 FasterXML. All Rights Reserved.