org.codehaus.jackson.map
Class SerializationConfig

java.lang.Object
  extended by org.codehaus.jackson.map.SerializationConfig

public class SerializationConfig
extends java.lang.Object

Object that contains baseline configuration for serialization process. An instance is owned by ObjectMapper, which makes a copy that is passed during serialization process to SerializerProvider and SerializerFactory.

Note: although configuration settings can be changed at any time (for factories and instances), they are not guaranteed to have effect if called after constructing relevant mapper or serializer instance. This because some objects may be configured, constructed and cached first time they are needed.


Nested Class Summary
static class SerializationConfig.Feature
          Enumeration that defines togglable features that guide the serialization feature.
 
Field Summary
protected  ClassIntrospector<? extends BeanDescription> _classIntrospector
          Introspector used to figure out Bean properties needed for bean serialization and deserialization.
protected  java.text.DateFormat _dateFormat
          Textual date format to use for serialization (if enabled by SerializationConfig.Feature.WRITE_DATES_AS_TIMESTAMPS being set to false).
protected  int _featureFlags
           
protected static int DEFAULT_FEATURE_FLAGS
          Bitfield (set of flags) of all Features that are enabled by default.
 
Constructor Summary
  SerializationConfig(ClassIntrospector<? extends BeanDescription> intr)
           
protected SerializationConfig(SerializationConfig src)
           
 
Method Summary
 SerializationConfig createUnshared()
          Method that is called to create a non-shared copy of the configuration to be used for a serialization operation.
 void disable(SerializationConfig.Feature f)
          Method for disabling specified feature.
 void enable(SerializationConfig.Feature f)
          Method for enabling specified feature.
 void fromAnnotations(java.lang.Class<?> annotatedClass)
          Method that checks class annotations that the argument Object has, and modifies settings of this configuration object accordingly, similar to how those annotations would affect actual value classes annotated with them, but with global scope.
 java.text.DateFormat getDateFormat()
           
<T extends BeanDescription>
T
introspect(java.lang.Class<?> cls)
          Method that will introspect full bean properties for the purpose of building a bean serializer
<T extends BeanDescription>
T
introspectClassAnnotations(java.lang.Class<?> cls)
          Accessor for getting bean description that only contains class annotations: useful if no getter/setter/creator information is needed.
 boolean isEnabled(SerializationConfig.Feature f)
          Method for checking whether given feature is enabled or not
 void set(SerializationConfig.Feature f, boolean state)
          Method for enabling or disabling specified feature.
 void setDateFormat(java.text.DateFormat df)
          Method that will set the textual serialization to use for serializing Dates (and Calendars); or if null passed, simply disable textual serialization and use timestamp.
 void setIntrospector(ClassIntrospector<? extends BeanDescription> i)
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

DEFAULT_FEATURE_FLAGS

protected static final int DEFAULT_FEATURE_FLAGS
Bitfield (set of flags) of all Features that are enabled by default.


_classIntrospector

protected ClassIntrospector<? extends BeanDescription> _classIntrospector
Introspector used to figure out Bean properties needed for bean serialization and deserialization. Overridable so that it is possible to change low-level details of introspection, like adding new annotation types.


_featureFlags

protected int _featureFlags

_dateFormat

protected java.text.DateFormat _dateFormat
Textual date format to use for serialization (if enabled by SerializationConfig.Feature.WRITE_DATES_AS_TIMESTAMPS being set to false). Defaults to a ISO-8601 compliant format used by StdDateFormat.

Note that format object is not to be used as is by caller: since date format objects are not thread-safe, caller has to create a clone first.

Constructor Detail

SerializationConfig

public SerializationConfig(ClassIntrospector<? extends BeanDescription> intr)

SerializationConfig

protected SerializationConfig(SerializationConfig src)
Method Detail

createUnshared

public SerializationConfig createUnshared()
Method that is called to create a non-shared copy of the configuration to be used for a serialization operation. Note that if sub-classing and sub-class has additional instance methods, this method must be overridden to produce proper sub-class instance.


fromAnnotations

public void fromAnnotations(java.lang.Class<?> annotatedClass)
Method that checks class annotations that the argument Object has, and modifies settings of this configuration object accordingly, similar to how those annotations would affect actual value classes annotated with them, but with global scope. Note that not all annotations have global significance, and thus only subset of Jackson annotations will have any effect.

Ones that are known to have effect are:

Parameters:
annotatedClass - Class of which class annotations to use for changing configuration settings

isEnabled

public final boolean isEnabled(SerializationConfig.Feature f)
Method for checking whether given feature is enabled or not


getDateFormat

public java.text.DateFormat getDateFormat()

introspect

public <T extends BeanDescription> T introspect(java.lang.Class<?> cls)
Method that will introspect full bean properties for the purpose of building a bean serializer


introspectClassAnnotations

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


enable

public void enable(SerializationConfig.Feature f)
Method for enabling specified feature.


disable

public void disable(SerializationConfig.Feature f)
Method for disabling specified feature.


set

public void set(SerializationConfig.Feature f,
                boolean state)
Method for enabling or disabling specified feature.


setDateFormat

public void setDateFormat(java.text.DateFormat df)
Method that will set the textual serialization to use for serializing Dates (and Calendars); or if null passed, simply disable textual serialization and use timestamp. Also, will enable/disable feature SerializationConfig.Feature.WRITE_DATES_AS_TIMESTAMPS: enable, if argument is null; disable if non-null.


setIntrospector

public void setIntrospector(ClassIntrospector<? extends BeanDescription> i)

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object