com.fasterxml.jackson.databind
Class SerializationConfig

java.lang.Object
  extended by com.fasterxml.jackson.databind.cfg.MapperConfig<T>
      extended by com.fasterxml.jackson.databind.cfg.MapperConfigBase<SerializationFeature,SerializationConfig>
          extended by com.fasterxml.jackson.databind.SerializationConfig
All Implemented Interfaces:
ClassIntrospector.MixInResolver

public final class SerializationConfig
extends MapperConfigBase<SerializationFeature,SerializationConfig>

Object that contains baseline configuration for serialization process. An instance is owned by ObjectMapper, which passes an immutable instance for serialization process to SerializerProvider and SerializerFactory (either directly, or through ObjectWriter.

Note that instances are considered immutable and as such no copies should need to be created (there are some implementation details with respect to mix-in annotations; where this is guaranteed as long as caller follow "copy-then-use" pattern)


Field Summary
protected  FilterProvider _filterProvider
          Object used for resolving filter ids to filter instances.
protected  int _serFeatures
          Set of features enabled; actual type (kind of features) depends on sub-classes.
protected  com.fasterxml.jackson.annotation.JsonInclude.Include _serializationInclusion
          Which Bean/Map properties are to be included in serialization? Default settings is to include all regardless of value; can be changed to only include non-null properties, or properties with non-default values.
 
Fields inherited from class com.fasterxml.jackson.databind.cfg.MapperConfigBase
_mixInAnnotations, _rootName, _subtypeResolver, _view
 
Fields inherited from class com.fasterxml.jackson.databind.cfg.MapperConfig
_base, _mapperFeatures
 
Constructor Summary
SerializationConfig(BaseSettings base, SubtypeResolver str, Map<ClassKey,Class<?>> mixins)
          Constructor used by ObjectMapper to create default configuration object instance.
 
Method Summary
 AnnotationIntrospector getAnnotationIntrospector()
          Method for getting AnnotationIntrospector configured to introspect annotation values used for 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).
 FilterProvider getFilterProvider()
          Method for getting provider used for locating filters given id (which is usually provided with filter annotations).
 int getSerializationFeatures()
           
 com.fasterxml.jackson.annotation.JsonInclude.Include getSerializationInclusion()
           
<T extends BeanDescription>
T
introspect(JavaType type)
          Method that will introspect full bean properties for the purpose of building a bean serializer
 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(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 isEnabled(SerializationFeature f)
           
 String toString()
           
 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.
 SerializationConfig with(AnnotationIntrospector ai)
          Method for constructing and returning a new instance with different AnnotationIntrospector to use (replacing old one).
 SerializationConfig with(ClassIntrospector ci)
          Method for constructing and returning a new instance with different ClassIntrospector to use.
 SerializationConfig with(DateFormat df)
          In addition to constructing instance with specified date format, will enable or disable SerializationFeature.WRITE_DATES_AS_TIMESTAMPS (enable if format set as null; disable if non-null)
 SerializationConfig with(HandlerInstantiator hi)
          Method for constructing and returning a new instance with different HandlerInstantiator to use.
 SerializationConfig with(Locale l)
          Method for constructing and returning a new instance with different default Locale to use for formatting.
 SerializationConfig with(MapperFeature... features)
          Fluent factory method that will construct and return a new configuration object instance with specified features enabled.
 SerializationConfig with(PropertyNamingStrategy pns)
          Method for constructing and returning a new instance with different PropertyNamingStrategy to use.
 SerializationConfig with(SerializationFeature feature)
          Fluent factory method that will construct and return a new configuration object instance with specified feature enabled.
 SerializationConfig with(SerializationFeature first, SerializationFeature... features)
          Fluent factory method that will construct and return a new configuration object instance with specified features enabled.
 SerializationConfig with(SubtypeResolver str)
          Method for constructing and returning a new instance with different SubtypeResolver to use.
 SerializationConfig with(TimeZone tz)
          Method for constructing and returning a new instance with different default TimeZone to use for formatting of date values.
 SerializationConfig with(TypeFactory tf)
          Method for constructing and returning a new instance with different TypeFactory to use.
 SerializationConfig with(TypeResolverBuilder<?> trb)
          Method for constructing and returning a new instance with different TypeResolverBuilder to use.
 SerializationConfig with(VisibilityChecker<?> vc)
          Method for constructing and returning a new instance with different VisibilityChecker to use.
 SerializationConfig withAppendedAnnotationIntrospector(AnnotationIntrospector ai)
          Method for constructing and returning a new instance with additional AnnotationIntrospector appended (as the lowest priority one)
 SerializationConfig withFeatures(SerializationFeature... features)
          Fluent factory method that will construct and return a new configuration object instance with specified features enabled.
 SerializationConfig withFilters(FilterProvider filterProvider)
           
 SerializationConfig withInsertedAnnotationIntrospector(AnnotationIntrospector ai)
          Method for constructing and returning a new instance with additional AnnotationIntrospector inserted (as the highest priority one)
 SerializationConfig without(MapperFeature... features)
          Fluent factory method that will construct and return a new configuration object instance with specified features disabled.
 SerializationConfig without(SerializationFeature feature)
          Fluent factory method that will construct and return a new configuration object instance with specified feature disabled.
 SerializationConfig without(SerializationFeature first, SerializationFeature... features)
          Fluent factory method that will construct and return a new configuration object instance with specified features disabled.
 SerializationConfig withoutFeatures(SerializationFeature... features)
          Fluent factory method that will construct and return a new configuration object instance with specified features disabled.
 SerializationConfig withRootName(String rootName)
          Method for constructing and returning a new instance with different root name to use (none, if null).
 SerializationConfig withSerializationInclusion(com.fasterxml.jackson.annotation.JsonInclude.Include incl)
           
 SerializationConfig withView(Class<?> view)
          Method for constructing and returning a new instance with different view to use.
 SerializationConfig withVisibility(com.fasterxml.jackson.annotation.PropertyAccessor forMethod, com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility visibility)
          Method for constructing and returning a new instance with different minimal visibility level for specified property type
 
Methods inherited from class com.fasterxml.jackson.databind.cfg.MapperConfigBase
findMixInClassFor, getActiveView, getRootName, getSubtypeResolver, mixInCount
 
Methods inherited from class com.fasterxml.jackson.databind.cfg.MapperConfig
canOverrideAccessModifiers, collectFeatureDefaults, constructSpecializedType, constructType, constructType, getClassIntrospector, getDateFormat, getDefaultTyper, getHandlerInstantiator, getLocale, getPropertyNamingStrategy, getTimeZone, getTypeFactory, introspectClassAnnotations, introspectDirectClassAnnotations, isAnnotationProcessingEnabled, isEnabled, shouldSortPropertiesAlphabetically, typeIdResolverInstance, typeResolverBuilderInstance
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

_serFeatures

protected final int _serFeatures
Set of features enabled; actual type (kind of features) depends on sub-classes.


_serializationInclusion

protected com.fasterxml.jackson.annotation.JsonInclude.Include _serializationInclusion
Which Bean/Map properties are to be included in serialization? Default settings is to include all regardless of value; can be changed to only include non-null properties, or properties with non-default values.


_filterProvider

protected final FilterProvider _filterProvider
Object used for resolving filter ids to filter instances. Non-null if explicitly defined; null by default.

Constructor Detail

SerializationConfig

public SerializationConfig(BaseSettings base,
                           SubtypeResolver str,
                           Map<ClassKey,Class<?>> mixins)
Constructor used by ObjectMapper to create default configuration object instance.

Method Detail

with

public SerializationConfig with(MapperFeature... features)
Fluent factory method that will construct and return a new configuration object instance with specified features enabled.

Specified by:
with in class MapperConfig<SerializationConfig>

without

public SerializationConfig without(MapperFeature... features)
Fluent factory method that will construct and return a new configuration object instance with specified features disabled.

Specified by:
without in class MapperConfig<SerializationConfig>

with

public SerializationConfig with(AnnotationIntrospector ai)
Description copied from class: MapperConfigBase
Method for constructing and returning a new instance with different AnnotationIntrospector to use (replacing old one).

NOTE: make sure to register new instance with ObjectMapper if directly calling this method.

Specified by:
with in class MapperConfigBase<SerializationFeature,SerializationConfig>

withAppendedAnnotationIntrospector

public SerializationConfig withAppendedAnnotationIntrospector(AnnotationIntrospector ai)
Description copied from class: MapperConfigBase
Method for constructing and returning a new instance with additional AnnotationIntrospector appended (as the lowest priority one)

Specified by:
withAppendedAnnotationIntrospector in class MapperConfigBase<SerializationFeature,SerializationConfig>

withInsertedAnnotationIntrospector

public SerializationConfig withInsertedAnnotationIntrospector(AnnotationIntrospector ai)
Description copied from class: MapperConfigBase
Method for constructing and returning a new instance with additional AnnotationIntrospector inserted (as the highest priority one)

Specified by:
withInsertedAnnotationIntrospector in class MapperConfigBase<SerializationFeature,SerializationConfig>

with

public SerializationConfig with(ClassIntrospector ci)
Description copied from class: MapperConfigBase
Method for constructing and returning a new instance with different ClassIntrospector to use.

NOTE: make sure to register new instance with ObjectMapper if directly calling this method.

Specified by:
with in class MapperConfigBase<SerializationFeature,SerializationConfig>

with

public SerializationConfig with(DateFormat df)
In addition to constructing instance with specified date format, will enable or disable SerializationFeature.WRITE_DATES_AS_TIMESTAMPS (enable if format set as null; disable if non-null)

Specified by:
with in class MapperConfigBase<SerializationFeature,SerializationConfig>

with

public SerializationConfig with(HandlerInstantiator hi)
Description copied from class: MapperConfigBase
Method for constructing and returning a new instance with different HandlerInstantiator to use.

NOTE: make sure to register new instance with ObjectMapper if directly calling this method.

Specified by:
with in class MapperConfigBase<SerializationFeature,SerializationConfig>

with

public SerializationConfig with(PropertyNamingStrategy pns)
Description copied from class: MapperConfigBase
Method for constructing and returning a new instance with different PropertyNamingStrategy to use.

NOTE: make sure to register new instance with ObjectMapper if directly calling this method.

Specified by:
with in class MapperConfigBase<SerializationFeature,SerializationConfig>

withRootName

public SerializationConfig withRootName(String rootName)
Description copied from class: MapperConfigBase
Method for constructing and returning a new instance with different root name to use (none, if null).

Note that when a root name is set to a non-Empty String, this will automatically force use of root element wrapping with given name. If empty String passed, will disable root name wrapping; and if null used, will instead use SerializationFeature to determine if to use wrapping, and annotation (or default name) for actual root name to use.

Specified by:
withRootName in class MapperConfigBase<SerializationFeature,SerializationConfig>
Parameters:
rootName - to use: if null, means "use default" (clear setting); if empty String ("") means that no root name wrapping is used; otherwise defines root name to use.

with

public SerializationConfig with(SubtypeResolver str)
Description copied from class: MapperConfigBase
Method for constructing and returning a new instance with different SubtypeResolver to use.

NOTE: make sure to register new instance with ObjectMapper if directly calling this method.

Specified by:
with in class MapperConfigBase<SerializationFeature,SerializationConfig>

with

public SerializationConfig with(TypeFactory tf)
Description copied from class: MapperConfigBase
Method for constructing and returning a new instance with different TypeFactory to use.

Specified by:
with in class MapperConfigBase<SerializationFeature,SerializationConfig>

with

public SerializationConfig with(TypeResolverBuilder<?> trb)
Description copied from class: MapperConfigBase
Method for constructing and returning a new instance with different TypeResolverBuilder to use.

Specified by:
with in class MapperConfigBase<SerializationFeature,SerializationConfig>

withView

public SerializationConfig withView(Class<?> view)
Description copied from class: MapperConfigBase
Method for constructing and returning a new instance with different view to use.

Specified by:
withView in class MapperConfigBase<SerializationFeature,SerializationConfig>

with

public SerializationConfig with(VisibilityChecker<?> vc)
Description copied from class: MapperConfigBase
Method for constructing and returning a new instance with different VisibilityChecker to use.

Specified by:
with in class MapperConfigBase<SerializationFeature,SerializationConfig>

withVisibility

public SerializationConfig withVisibility(com.fasterxml.jackson.annotation.PropertyAccessor forMethod,
                                          com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility visibility)
Description copied from class: MapperConfigBase
Method for constructing and returning a new instance with different minimal visibility level for specified property type

Specified by:
withVisibility in class MapperConfigBase<SerializationFeature,SerializationConfig>

with

public SerializationConfig with(Locale l)
Description copied from class: MapperConfigBase
Method for constructing and returning a new instance with different default Locale to use for formatting.

Specified by:
with in class MapperConfigBase<SerializationFeature,SerializationConfig>

with

public SerializationConfig with(TimeZone tz)
Description copied from class: MapperConfigBase
Method for constructing and returning a new instance with different default TimeZone to use for formatting of date values.

Specified by:
with in class MapperConfigBase<SerializationFeature,SerializationConfig>

with

public SerializationConfig with(SerializationFeature feature)
Fluent factory method that will construct and return a new configuration object instance with specified feature enabled.


with

public SerializationConfig with(SerializationFeature first,
                                SerializationFeature... features)
Fluent factory method that will construct and return a new configuration object instance with specified features enabled.


withFeatures

public SerializationConfig withFeatures(SerializationFeature... features)
Fluent factory method that will construct and return a new configuration object instance with specified features enabled.


without

public SerializationConfig without(SerializationFeature feature)
Fluent factory method that will construct and return a new configuration object instance with specified feature disabled.


without

public SerializationConfig without(SerializationFeature first,
                                   SerializationFeature... features)
Fluent factory method that will construct and return a new configuration object instance with specified features disabled.


withoutFeatures

public SerializationConfig withoutFeatures(SerializationFeature... features)
Fluent factory method that will construct and return a new configuration object instance with specified features disabled.


withFilters

public SerializationConfig withFilters(FilterProvider filterProvider)

withSerializationInclusion

public SerializationConfig withSerializationInclusion(com.fasterxml.jackson.annotation.JsonInclude.Include incl)

useRootWrapping

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

Specified by:
useRootWrapping in class MapperConfig<SerializationConfig>

getAnnotationIntrospector

public AnnotationIntrospector getAnnotationIntrospector()
Description copied from class: MapperConfig
Method for getting AnnotationIntrospector configured to introspect annotation values used for configuration.

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

Overrides:
getAnnotationIntrospector in class MapperConfig<SerializationConfig>

introspectClassAnnotations

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

Specified by:
introspectClassAnnotations in class MapperConfig<SerializationConfig>

introspectDirectClassAnnotations

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

Specified by:
introspectDirectClassAnnotations in class MapperConfig<SerializationConfig>

getDefaultVisibilityChecker

public VisibilityChecker<?> getDefaultVisibilityChecker()
Description copied from class: MapperConfig
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)

Overrides:
getDefaultVisibilityChecker in class MapperConfig<SerializationConfig>

isEnabled

public final boolean isEnabled(SerializationFeature f)

getSerializationFeatures

public final int getSerializationFeatures()

getSerializationInclusion

public com.fasterxml.jackson.annotation.JsonInclude.Include getSerializationInclusion()

getFilterProvider

public FilterProvider getFilterProvider()
Method for getting provider used for locating filters given id (which is usually provided with filter annotations). Will be null if no provided was set for ObjectWriter (or if serialization directly called from ObjectMapper)


introspect

public <T extends BeanDescription> T introspect(JavaType type)
Method that will introspect full bean properties for the purpose of building a bean serializer


toString

public String toString()
Overrides:
toString in class Object


Copyright © 2012 fasterxml.com. All Rights Reserved.