|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.codehaus.jackson.map.MapperConfig<T>
org.codehaus.jackson.map.SerializationConfig
public class SerializationConfig
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.
As of version 1.9, the goal is to make this class eventually immutable. Because of this, existing methods that allow changing state of this instance are deprecated in favor of methods that create new instances with different configuration ("fluent factories")
Nested Class Summary | |
---|---|
static class |
SerializationConfig.Feature
Enumeration that defines togglable features that guide the serialization feature. |
Nested classes/interfaces inherited from class org.codehaus.jackson.map.MapperConfig |
---|
MapperConfig.Base, MapperConfig.ConfigFeature |
Field Summary | |
---|---|
protected int |
_featureFlags
Note: moved to base class in 1.9; was stored by sub-class earlier |
protected FilterProvider |
_filterProvider
Object used for resolving filter ids to filter instances. |
protected JsonSerialize.Inclusion |
_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. |
protected Class<?> |
_serializationView
View to use for filtering out properties to serialize. |
Fields inherited from class org.codehaus.jackson.map.MapperConfig |
---|
_base, _mixInAnnotations, _mixInAnnotationsShared, _subtypeResolver, DEFAULT_DATE_FORMAT |
Constructor Summary | |
---|---|
|
SerializationConfig(ClassIntrospector<? extends BeanDescription> intr,
AnnotationIntrospector annIntr,
VisibilityChecker<?> vc,
SubtypeResolver subtypeResolver,
PropertyNamingStrategy propertyNamingStrategy,
TypeFactory typeFactory,
HandlerInstantiator handlerInstantiator)
Constructor used by ObjectMapper to create default configuration object instance. |
protected |
SerializationConfig(SerializationConfig src)
|
protected |
SerializationConfig(SerializationConfig src,
Class<?> view)
|
protected |
SerializationConfig(SerializationConfig src,
FilterProvider filters)
|
protected |
SerializationConfig(SerializationConfig src,
HashMap<ClassKey,Class<?>> mixins,
SubtypeResolver str)
Constructor used to make a private copy of specific mix-in definitions. |
protected |
SerializationConfig(SerializationConfig src,
int features)
|
protected |
SerializationConfig(SerializationConfig src,
JsonSerialize.Inclusion incl)
|
protected |
SerializationConfig(SerializationConfig src,
MapperConfig.Base base)
|
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. |
|
SerializationConfig |
createUnshared(SubtypeResolver subtypeResolver)
Method to use for constructing an instance that is not shared between multiple operations but only used for a single one (which may be this instance, if it is immutable; if not, a copy is constructed with same settings) |
|
void |
disable(SerializationConfig.Feature f)
Deprecated. Since 1.9, it is preferable to use without(org.codehaus.jackson.map.SerializationConfig.Feature...) instead;
this method is deprecated as it modifies current instance instead of
creating a new one (as the goal is to make this class immutable) |
|
void |
enable(SerializationConfig.Feature f)
Deprecated. Since 1.9, it is preferable to use with(org.codehaus.jackson.map.SerializationConfig.Feature...) instead;
this method is deprecated as it modifies current instance instead of
creating a new one (as the goal is to make this class immutable) |
|
void |
fromAnnotations(Class<?> cls)
Deprecated. Since 1.9, it is preferably to explicitly configure instances; this method also modifies existing instance which is against immutable design goals of this class. |
|
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). |
|
JsonSerialize.Inclusion |
getSerializationInclusion()
|
|
Class<?> |
getSerializationView()
Method for checking which serialization view is being used, if any; null if none. |
|
|
introspect(JavaType type)
Method that will introspect full bean properties for the purpose of building a bean serializer |
|
|
introspectClassAnnotations(JavaType type)
Accessor for getting bean description that only contains class annotations: useful if no getter/setter/creator information is needed. |
|
|
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(MapperConfig.ConfigFeature f)
Method for checking whether given feature is enabled or not |
|
boolean |
isEnabled(SerializationConfig.Feature f)
Alias for MapperConfig.isEnabled(org.codehaus.jackson.map.MapperConfig.ConfigFeature) . |
|
JsonSerializer<Object> |
serializerInstance(Annotated annotated,
Class<? extends JsonSerializer<?>> serClass)
|
|
void |
set(SerializationConfig.Feature f,
boolean state)
Deprecated. Since 1.9, it is preferable to use without(org.codehaus.jackson.map.SerializationConfig.Feature...) and with(org.codehaus.jackson.map.SerializationConfig.Feature...) instead;
this method is deprecated as it modifies current instance instead of
creating a new one (as the goal is to make this class immutable) |
|
void |
setDateFormat(DateFormat df)
Deprecated. Since 1.8, use withDateFormat(java.text.DateFormat) instead. |
|
void |
setSerializationInclusion(JsonSerialize.Inclusion props)
Deprecated. since 1.9 should either use withSerializationInclusion(org.codehaus.jackson.map.annotate.JsonSerialize.Inclusion)
to construct new instance, or configure through ObjectMapper |
|
void |
setSerializationView(Class<?> view)
Deprecated. Since 1.8, use withView(java.lang.Class>) instead |
|
boolean |
shouldSortPropertiesAlphabetically()
Accessor for checking whether default settings for property handling indicate that properties should be alphabetically ordered or not. |
|
String |
toString()
|
|
SerializationConfig |
with(SerializationConfig.Feature... features)
Fluent factory method that will construct and return a new configuration object instance with specified features enabled. |
|
SerializationConfig |
withAnnotationIntrospector(AnnotationIntrospector ai)
Method for constructing and returning a new instance with different AnnotationIntrospector to use (replacing old one). |
|
SerializationConfig |
withAppendedAnnotationIntrospector(AnnotationIntrospector ai)
Method for constructing and returning a new instance with additional AnnotationIntrospector appended (as the lowest priority one) |
|
SerializationConfig |
withClassIntrospector(ClassIntrospector<? extends BeanDescription> ci)
Method for constructing and returning a new instance with different ClassIntrospector
to use. |
|
SerializationConfig |
withDateFormat(DateFormat df)
In addition to constructing instance with specified date format, will enable or disable Feature.WRITE_DATES_AS_TIMESTAMPS
(enable if format set as null; disable if non-null) |
|
SerializationConfig |
withFilters(FilterProvider filterProvider)
|
|
SerializationConfig |
withHandlerInstantiator(HandlerInstantiator hi)
Method for constructing and returning a new instance with different HandlerInstantiator
to use. |
|
SerializationConfig |
withInsertedAnnotationIntrospector(AnnotationIntrospector ai)
Method for constructing and returning a new instance with additional AnnotationIntrospector inserted (as the highest priority one) |
|
SerializationConfig |
without(SerializationConfig.Feature... features)
Fluent factory method that will construct and return a new configuration object instance with specified features disabled. |
|
SerializationConfig |
withPropertyNamingStrategy(PropertyNamingStrategy pns)
Method for constructing and returning a new instance with different PropertyNamingStrategy
to use. |
|
SerializationConfig |
withSerializationInclusion(JsonSerialize.Inclusion incl)
|
|
SerializationConfig |
withSubtypeResolver(SubtypeResolver str)
Method for constructing and returning a new instance with different SubtypeResolver
to use. |
|
SerializationConfig |
withTypeFactory(TypeFactory tf)
Method for constructing and returning a new instance with different TypeFactory
to use. |
|
SerializationConfig |
withTypeResolverBuilder(TypeResolverBuilder<?> trb)
Method for constructing and returning a new instance with different TypeResolverBuilder
to use. |
|
SerializationConfig |
withView(Class<?> view)
|
|
SerializationConfig |
withVisibility(JsonMethod forMethod,
JsonAutoDetect.Visibility visibility)
Method for constructing and returning a new instance with different minimal visibility level for specified property type |
|
SerializationConfig |
withVisibilityChecker(VisibilityChecker<?> vc)
Method for constructing and returning a new instance with different VisibilityChecker
to use. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
protected JsonSerialize.Inclusion _serializationInclusion
Defaults to null for backwards compatibility; if left as null,
will check
deprecated SerializationConfig.Feature.WRITE_NULL_PROPERTIES
to choose between JsonSerialize.Inclusion.ALWAYS
and JsonSerialize.Inclusion.NON_NULL
.
protected Class<?> _serializationView
Object.class
is defined), meaning that all properties are to be included.
protected FilterProvider _filterProvider
protected int _featureFlags
Note: moved to base class in 1.9; was stored by sub-class earlier
Constructor Detail |
---|
public SerializationConfig(ClassIntrospector<? extends BeanDescription> intr, AnnotationIntrospector annIntr, VisibilityChecker<?> vc, SubtypeResolver subtypeResolver, PropertyNamingStrategy propertyNamingStrategy, TypeFactory typeFactory, HandlerInstantiator handlerInstantiator)
protected SerializationConfig(SerializationConfig src)
protected SerializationConfig(SerializationConfig src, HashMap<ClassKey,Class<?>> mixins, SubtypeResolver str)
protected SerializationConfig(SerializationConfig src, MapperConfig.Base base)
protected SerializationConfig(SerializationConfig src, FilterProvider filters)
protected SerializationConfig(SerializationConfig src, Class<?> view)
protected SerializationConfig(SerializationConfig src, JsonSerialize.Inclusion incl)
protected SerializationConfig(SerializationConfig src, int features)
Method Detail |
---|
public SerializationConfig withClassIntrospector(ClassIntrospector<? extends BeanDescription> ci)
MapperConfig
ClassIntrospector
to use.
NOTE: make sure to register new instance with ObjectMapper
if directly calling this method.
withClassIntrospector
in class MapperConfig<SerializationConfig>
public SerializationConfig withAnnotationIntrospector(AnnotationIntrospector ai)
MapperConfig
AnnotationIntrospector
to use (replacing old one).
NOTE: make sure to register new instance with ObjectMapper
if directly calling this method.
withAnnotationIntrospector
in class MapperConfig<SerializationConfig>
public SerializationConfig withInsertedAnnotationIntrospector(AnnotationIntrospector ai)
MapperConfig
AnnotationIntrospector
inserted (as the highest priority one)
withInsertedAnnotationIntrospector
in class MapperConfig<SerializationConfig>
public SerializationConfig withAppendedAnnotationIntrospector(AnnotationIntrospector ai)
MapperConfig
AnnotationIntrospector
appended (as the lowest priority one)
withAppendedAnnotationIntrospector
in class MapperConfig<SerializationConfig>
public SerializationConfig withVisibilityChecker(VisibilityChecker<?> vc)
MapperConfig
VisibilityChecker
to use.
NOTE: make sure to register new instance with ObjectMapper
if directly calling this method.
withVisibilityChecker
in class MapperConfig<SerializationConfig>
public SerializationConfig withVisibility(JsonMethod forMethod, JsonAutoDetect.Visibility visibility)
MapperConfig
NOTE: make sure to register new instance with ObjectMapper
if directly calling this method.
withVisibility
in class MapperConfig<SerializationConfig>
public SerializationConfig withTypeResolverBuilder(TypeResolverBuilder<?> trb)
MapperConfig
TypeResolverBuilder
to use.
NOTE: make sure to register new instance with ObjectMapper
if directly calling this method.
withTypeResolverBuilder
in class MapperConfig<SerializationConfig>
public SerializationConfig withSubtypeResolver(SubtypeResolver str)
MapperConfig
SubtypeResolver
to use.
NOTE: make sure to register new instance with ObjectMapper
if directly calling this method.
withSubtypeResolver
in class MapperConfig<SerializationConfig>
public SerializationConfig withPropertyNamingStrategy(PropertyNamingStrategy pns)
MapperConfig
PropertyNamingStrategy
to use.
NOTE: make sure to register new instance with ObjectMapper
if directly calling this method.
withPropertyNamingStrategy
in class MapperConfig<SerializationConfig>
public SerializationConfig withTypeFactory(TypeFactory tf)
MapperConfig
TypeFactory
to use.
NOTE: make sure to register new instance with ObjectMapper
if directly calling this method.
withTypeFactory
in class MapperConfig<SerializationConfig>
public SerializationConfig withDateFormat(DateFormat df)
Feature.WRITE_DATES_AS_TIMESTAMPS
(enable if format set as null; disable if non-null)
withDateFormat
in class MapperConfig<SerializationConfig>
public SerializationConfig withHandlerInstantiator(HandlerInstantiator hi)
MapperConfig
HandlerInstantiator
to use.
NOTE: make sure to register new instance with ObjectMapper
if directly calling this method.
withHandlerInstantiator
in class MapperConfig<SerializationConfig>
public SerializationConfig withFilters(FilterProvider filterProvider)
public SerializationConfig withView(Class<?> view)
public SerializationConfig withSerializationInclusion(JsonSerialize.Inclusion incl)
public SerializationConfig with(SerializationConfig.Feature... features)
public SerializationConfig without(SerializationConfig.Feature... features)
@Deprecated public void fromAnnotations(Class<?> cls)
Serialization annotations that are known to have effect are:
fromAnnotations
in class MapperConfig<SerializationConfig>
cls
- Class of which class annotations to use
for changing configuration settingspublic SerializationConfig createUnshared(SubtypeResolver subtypeResolver)
MapperConfig
createUnshared
in class MapperConfig<SerializationConfig>
public AnnotationIntrospector getAnnotationIntrospector()
MapperConfig
AnnotationIntrospector
configured
to introspect annotation values used for configuration.
Non-final since it is actually overridden by sub-classes (for now?)
getAnnotationIntrospector
in class MapperConfig<SerializationConfig>
public <T extends BeanDescription> T introspectClassAnnotations(JavaType type)
Note: part of MapperConfig
since 1.7
introspectClassAnnotations
in class MapperConfig<SerializationConfig>
public <T extends BeanDescription> T introspectDirectClassAnnotations(JavaType type)
Note: part of MapperConfig
since 1.7
introspectDirectClassAnnotations
in class MapperConfig<SerializationConfig>
public boolean isAnnotationProcessingEnabled()
MapperConfig
isAnnotationProcessingEnabled
in class MapperConfig<SerializationConfig>
public boolean canOverrideAccessModifiers()
MapperConfig
canOverrideAccessModifiers
in class MapperConfig<SerializationConfig>
public boolean shouldSortPropertiesAlphabetically()
MapperConfig
shouldSortPropertiesAlphabetically
in class MapperConfig<SerializationConfig>
public VisibilityChecker<?> getDefaultVisibilityChecker()
MapperConfig
JsonAutoDetect
annotation)
getDefaultVisibilityChecker
in class MapperConfig<SerializationConfig>
public boolean isEnabled(SerializationConfig.Feature f)
MapperConfig.isEnabled(org.codehaus.jackson.map.MapperConfig.ConfigFeature)
.
@Deprecated public void enable(SerializationConfig.Feature f)
with(org.codehaus.jackson.map.SerializationConfig.Feature...)
instead;
this method is deprecated as it modifies current instance instead of
creating a new one (as the goal is to make this class immutable)
@Deprecated public void disable(SerializationConfig.Feature f)
without(org.codehaus.jackson.map.SerializationConfig.Feature...)
instead;
this method is deprecated as it modifies current instance instead of
creating a new one (as the goal is to make this class immutable)
@Deprecated public void set(SerializationConfig.Feature f, boolean state)
without(org.codehaus.jackson.map.SerializationConfig.Feature...)
and with(org.codehaus.jackson.map.SerializationConfig.Feature...)
instead;
this method is deprecated as it modifies current instance instead of
creating a new one (as the goal is to make this class immutable)
public Class<?> getSerializationView()
public JsonSerialize.Inclusion getSerializationInclusion()
@Deprecated public void setSerializationInclusion(JsonSerialize.Inclusion props)
withSerializationInclusion(org.codehaus.jackson.map.annotate.JsonSerialize.Inclusion)
to construct new instance, or configure through ObjectMapper
public FilterProvider getFilterProvider()
ObjectWriter
(or if serialization directly called from ObjectMapper
)
public <T extends BeanDescription> T introspect(JavaType type)
public JsonSerializer<Object> serializerInstance(Annotated annotated, Class<? extends JsonSerializer<?>> serClass)
@Deprecated public final void setDateFormat(DateFormat df)
withDateFormat(java.text.DateFormat)
instead.
SerializationConfig.Feature.WRITE_DATES_AS_TIMESTAMPS
to false (if null format set), or true (if non-null format)
setDateFormat
in class MapperConfig<SerializationConfig>
@Deprecated public void setSerializationView(Class<?> view)
withView(java.lang.Class>)
instead
public String toString()
toString
in class Object
public boolean isEnabled(MapperConfig.ConfigFeature f)
MapperConfig
isEnabled
in class MapperConfig<T extends org.codehaus.jackson.map.MapperConfig.Impl<CFG,T>>
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |