## com.fasterxml.jackson.databind.cfg
Class BaseSettings

    java.lang.Object
      com.fasterxml.jackson.databind.cfg.BaseSettings

    public final class BaseSettings

extends Object

Immutable container class used to store simple configuration settings. Since instances are fully immutable, instances can be freely shared and used without synchronization.

Field Summary
`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 HandlerInstantiator` `_handlerInstantiator` Object used for creating instances of handlers (serializers, deserializers, type and type id resolvers), given class to instantiate.
`protected Locale` `_locale` Default `Locale` used with serialization formats.
`protected PropertyNamingStrategy` `_propertyNamingStrategy` Custom property naming strategy in use, if any.
`protected TimeZone` `_timeZone` Default `TimeZone` used with serialization formats.
`protected TypeFactory` `_typeFactory` Specific factory used for creating `JavaType` instances; needed to allow modules to add more custom type handling (mostly to support types of non-Java JVM languages)
`protected TypeResolverBuilder<?>` `_typeResolverBuilder` Type information handler used for "untyped" values (ones declared to have type `Object.class`)
`protected VisibilityChecker<?>` `_visibilityChecker` Object used for determining whether specific property elements (method, constructors, fields) can be auto-detected based on their visibility (access modifiers).

Constructor Summary
`BaseSettings(ClassIntrospector ci, AnnotationIntrospector ai, VisibilityChecker<?> vc, PropertyNamingStrategy pns, TypeFactory tf, TypeResolverBuilder<?> typer, DateFormat dateFormat, HandlerInstantiator hi, Locale locale, TimeZone tz)`

Method Summary
`AnnotationIntrospector` `getAnnotationIntrospector()`
`ClassIntrospector` `getClassIntrospector()`
`DateFormat` `getDateFormat()`
`HandlerInstantiator` `getHandlerInstantiator()`
`Locale` `getLocale()`
`PropertyNamingStrategy` `getPropertyNamingStrategy()`
`TimeZone` `getTimeZone()`
`TypeFactory` `getTypeFactory()`
`TypeResolverBuilder<?>` `getTypeResolverBuilder()`
`VisibilityChecker<?>` `getVisibilityChecker()`
`BaseSettings` `with(Locale l)`
`BaseSettings` `with(TimeZone tz)` Fluent factory for constructing a new instance that uses specified TimeZone.
`BaseSettings` `withAnnotationIntrospector(AnnotationIntrospector ai)`
`BaseSettings` `withAppendedAnnotationIntrospector(AnnotationIntrospector ai)`
`BaseSettings` `withClassIntrospector(ClassIntrospector ci)`
`BaseSettings` `withDateFormat(DateFormat df)`
`BaseSettings` `withHandlerInstantiator(HandlerInstantiator hi)`
`BaseSettings` `withInsertedAnnotationIntrospector(AnnotationIntrospector ai)`
`BaseSettings` `withPropertyNamingStrategy(PropertyNamingStrategy pns)`
`BaseSettings` `withTypeFactory(TypeFactory tf)`
`BaseSettings` `withTypeResolverBuilder(TypeResolverBuilder<?> typer)`
`BaseSettings` `withVisibility(PropertyAccessor forMethod, JsonAutoDetect.Visibility visibility)`
`BaseSettings` `withVisibilityChecker(VisibilityChecker<?> vc)`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

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.

### _visibilityChecker

    protected final VisibilityChecker<?> _visibilityChecker

  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)

### _propertyNamingStrategy

    protected final PropertyNamingStrategy _propertyNamingStrategy

  Custom property naming strategy in use, if any.

### _typeFactory

    protected final TypeFactory _typeFactory

  Specific factory used for creating `JavaType` 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

  Type information handler used for "untyped" values (ones declared to have type `Object.class`)

### _dateFormat

    protected final DateFormat _dateFormat

  Custom date format to use for de-serialization. If specified, will be used instead of `StdDateFormat`.

  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

  Default `Locale` used with serialization formats. Default value is `Locale.getDefault()`.

### _timeZone

    protected final TimeZone _timeZone

  Default `TimeZone` used with serialization formats. Default value is `TimeZone.getDefault()`, which is typically the local time zone (unless overridden for JVM).

  Note that if a new value is set, time zone is also assigned to `_dateFormat` of this object.

Constructor Detail

### BaseSettings

    public BaseSettings(ClassIntrospector ci,
                        AnnotationIntrospector ai,
                        VisibilityChecker<?> vc,
                        PropertyNamingStrategy pns,
                        TypeFactory tf,
                        TypeResolverBuilder<?> typer,
                        DateFormat dateFormat,
                        HandlerInstantiator hi,
                        Locale locale,
                        TimeZone tz)

Method Detail

### withClassIntrospector

    public BaseSettings withClassIntrospector(ClassIntrospector ci)

### withAnnotationIntrospector

    public BaseSettings withAnnotationIntrospector(AnnotationIntrospector ai)

### withInsertedAnnotationIntrospector

    public BaseSettings withInsertedAnnotationIntrospector(AnnotationIntrospector ai)

### withAppendedAnnotationIntrospector

    public BaseSettings withAppendedAnnotationIntrospector(AnnotationIntrospector ai)

### withVisibilityChecker

    public BaseSettings withVisibilityChecker(VisibilityChecker<?> vc)

### withVisibility

    public BaseSettings withVisibility(PropertyAccessor forMethod,
                                       JsonAutoDetect.Visibility visibility)

### 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 configured `DateFormat`, changing time formatting defaults.

### getClassIntrospector

    public ClassIntrospector getClassIntrospector()

### getAnnotationIntrospector

    public AnnotationIntrospector getAnnotationIntrospector()

### getVisibilityChecker

    public VisibilityChecker<?> getVisibilityChecker()

### getPropertyNamingStrategy

    public PropertyNamingStrategy getPropertyNamingStrategy()

### getTypeFactory

    public TypeFactory getTypeFactory()

### getTypeResolverBuilder

    public TypeResolverBuilder<?> getTypeResolverBuilder()

### getDateFormat

    public DateFormat getDateFormat()

### getHandlerInstantiator

    public HandlerInstantiator getHandlerInstantiator()

### getLocale

    public Locale getLocale()

### getTimeZone

    public TimeZone getTimeZone()

Copyright © 2012 fasterxml.com. All Rights Reserved.