Class BaseSettings
- java.lang.Object
-
- com.fasterxml.jackson.databind.cfg.BaseSettings
-
- All Implemented Interfaces:
Serializable
public final class BaseSettings extends Object implements Serializable
Immutable container class used to store simple configuration settings. Since instances are fully immutable, instances can be freely shared and used without synchronization.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected AnnotationIntrospector
_annotationIntrospector
Introspector used for accessing annotation value based configuration.protected ClassIntrospector
_classIntrospector
Introspector used to figure out Bean properties needed for bean serialization and deserialization.protected DateFormat
_dateFormat
Custom date format to use for de-serialization.protected com.fasterxml.jackson.core.Base64Variant
_defaultBase64
Explicitly defaultBase64Variant
to use for handling binary data (byte[]
), used with data formats that use base64 encoding (like JSON, CSV).protected HandlerInstantiator
_handlerInstantiator
Object used for creating instances of handlers (serializers, deserializers, type and type id resolvers), given class to instantiate.protected Locale
_locale
DefaultLocale
used with serialization formats.protected PropertyNamingStrategy
_propertyNamingStrategy
Custom property naming strategy in use, if any.protected TimeZone
_timeZone
DefaultTimeZone
used with serialization formats, if (and only if!) explicitly set by use; otherwise `null` to indicate "use default", which means "UTC" (from Jackson 2.7); earlier versions (up to 2.6) used "GMT".protected TypeFactory
_typeFactory
Specific factory used for creatingJavaType
instances; needed to allow modules to add more custom type handling (mostly to support types of non-Java JVM languages)protected TypeResolverBuilder<?>
_typeResolverBuilder
Builder used to create type resolver for serializing and deserializing values for which polymorphic type handling is needed.protected PolymorphicTypeValidator
_typeValidator
Validator that is used to limit allowed polymorphic subtypes, mostly for security reasons when dealing with untrusted content.
-
Constructor Summary
Constructors Constructor Description BaseSettings(ClassIntrospector ci, AnnotationIntrospector ai, PropertyNamingStrategy pns, TypeFactory tf, TypeResolverBuilder<?> typer, DateFormat dateFormat, HandlerInstantiator hi, Locale locale, TimeZone tz, com.fasterxml.jackson.core.Base64Variant defaultBase64)
Deprecated.BaseSettings(ClassIntrospector ci, AnnotationIntrospector ai, PropertyNamingStrategy pns, TypeFactory tf, TypeResolverBuilder<?> typer, DateFormat dateFormat, HandlerInstantiator hi, Locale locale, TimeZone tz, com.fasterxml.jackson.core.Base64Variant defaultBase64, PolymorphicTypeValidator ptv)
-
Method Summary
-
-
-
Field Detail
-
_classIntrospector
protected final ClassIntrospector _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.
-
_annotationIntrospector
protected final AnnotationIntrospector _annotationIntrospector
Introspector used for accessing annotation value based configuration.
-
_propertyNamingStrategy
protected final PropertyNamingStrategy _propertyNamingStrategy
Custom property naming strategy in use, if any.
-
_typeFactory
protected final TypeFactory _typeFactory
Specific factory used for creatingJavaType
instances; needed to allow modules to add more custom type handling (mostly to support types of non-Java JVM languages)
-
_typeResolverBuilder
protected final TypeResolverBuilder<?> _typeResolverBuilder
Builder used to create type resolver for serializing and deserializing values for which polymorphic type handling is needed.
-
_typeValidator
protected final PolymorphicTypeValidator _typeValidator
Validator that is used to limit allowed polymorphic subtypes, mostly for security reasons when dealing with untrusted content.- Since:
- 2.10
-
_dateFormat
protected final DateFormat _dateFormat
Custom date format to use for de-serialization. If specified, will be used instead ofStdDateFormat
.Note that the configured format object will be cloned once per deserialization process (first time it is needed)
-
_handlerInstantiator
protected final HandlerInstantiator _handlerInstantiator
Object used for creating instances of handlers (serializers, deserializers, type and type id resolvers), given class to instantiate. This is typically used to do additional configuration (with dependency injection, for example) beyond simply construction of instances; or to use alternative constructors.
-
_locale
protected final Locale _locale
DefaultLocale
used with serialization formats. Default value isLocale.getDefault()
.
-
_timeZone
protected final TimeZone _timeZone
DefaultTimeZone
used with serialization formats, if (and only if!) explicitly set by use; otherwise `null` to indicate "use default", which means "UTC" (from Jackson 2.7); earlier versions (up to 2.6) used "GMT".Note that if a new value is set, timezone is also assigned to
_dateFormat
of this object.
-
_defaultBase64
protected final com.fasterxml.jackson.core.Base64Variant _defaultBase64
Explicitly defaultBase64Variant
to use for handling binary data (byte[]
), used with data formats that use base64 encoding (like JSON, CSV).- Since:
- 2.1
-
-
Constructor Detail
-
BaseSettings
public BaseSettings(ClassIntrospector ci, AnnotationIntrospector ai, PropertyNamingStrategy pns, TypeFactory tf, TypeResolverBuilder<?> typer, DateFormat dateFormat, HandlerInstantiator hi, Locale locale, TimeZone tz, com.fasterxml.jackson.core.Base64Variant defaultBase64, PolymorphicTypeValidator ptv)
- Since:
- 2.10
-
BaseSettings
@Deprecated public BaseSettings(ClassIntrospector ci, AnnotationIntrospector ai, PropertyNamingStrategy pns, TypeFactory tf, TypeResolverBuilder<?> typer, DateFormat dateFormat, HandlerInstantiator hi, Locale locale, TimeZone tz, com.fasterxml.jackson.core.Base64Variant defaultBase64)
Deprecated.
-
-
Method Detail
-
copy
public BaseSettings copy()
Turns out we are not necessarily 100% stateless, alas, sinceClassIntrospector
typically has a cache. So this method is needed for deep copy() of Mapper.- Since:
- 2.9.6
-
withClassIntrospector
public BaseSettings withClassIntrospector(ClassIntrospector ci)
-
withAnnotationIntrospector
public BaseSettings withAnnotationIntrospector(AnnotationIntrospector ai)
-
withInsertedAnnotationIntrospector
public BaseSettings withInsertedAnnotationIntrospector(AnnotationIntrospector ai)
-
withAppendedAnnotationIntrospector
public BaseSettings withAppendedAnnotationIntrospector(AnnotationIntrospector ai)
-
withPropertyNamingStrategy
public BaseSettings withPropertyNamingStrategy(PropertyNamingStrategy pns)
-
withTypeFactory
public BaseSettings withTypeFactory(TypeFactory tf)
-
withTypeResolverBuilder
public BaseSettings withTypeResolverBuilder(TypeResolverBuilder<?> typer)
-
withDateFormat
public BaseSettings withDateFormat(DateFormat df)
-
withHandlerInstantiator
public BaseSettings withHandlerInstantiator(HandlerInstantiator hi)
-
with
public BaseSettings with(Locale l)
-
with
public BaseSettings with(TimeZone tz)
Fluent factory for constructing a new instance that uses specified TimeZone. Note that timezone used with also be assigned to configuredDateFormat
, changing time formatting defaults.
-
with
public BaseSettings with(com.fasterxml.jackson.core.Base64Variant base64)
- Since:
- 2.1
-
with
public BaseSettings with(PolymorphicTypeValidator v)
- Since:
- 2.10
-
getClassIntrospector
public ClassIntrospector getClassIntrospector()
-
getAnnotationIntrospector
public AnnotationIntrospector getAnnotationIntrospector()
-
getPropertyNamingStrategy
public PropertyNamingStrategy getPropertyNamingStrategy()
-
getTypeFactory
public TypeFactory getTypeFactory()
-
getTypeResolverBuilder
public TypeResolverBuilder<?> getTypeResolverBuilder()
-
getPolymorphicTypeValidator
public PolymorphicTypeValidator getPolymorphicTypeValidator()
- Since:
- 2.10
-
getDateFormat
public DateFormat getDateFormat()
-
getHandlerInstantiator
public HandlerInstantiator getHandlerInstantiator()
-
getLocale
public Locale getLocale()
-
getTimeZone
public TimeZone getTimeZone()
-
hasExplicitTimeZone
public boolean hasExplicitTimeZone()
Accessor that may be called to determine whether this settings object has been explicitly configured with a TimeZone (true), or is still relying on the default settings (false).- Since:
- 2.7
-
getBase64Variant
public com.fasterxml.jackson.core.Base64Variant getBase64Variant()
-
-