com.fasterxml.jackson.databind.cfg
Class BaseSettings

java.lang.Object
  extended by 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(com.fasterxml.jackson.annotation.PropertyAccessor forMethod, com.fasterxml.jackson.annotation.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(com.fasterxml.jackson.annotation.PropertyAccessor forMethod,
                                   com.fasterxml.jackson.annotation.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.