MapperConfig.Base (Jackson JSON Processor)
Date: 2013-07-14

org.codehaus.jackson.map

## Class MapperConfig.Base

- java.lang.Object
- - org.codehaus.jackson.map.MapperConfig.Base

- Enclosing class:
    MapperConfig<T extends MapperConfig<T>>

      public static class MapperConfig.Base
      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

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected AnnotationIntrospector` | `_annotationIntrospector` Introspector used for accessing annotation value based configuration.
    `protected ClassIntrospector<? extends BeanDescription>` | `_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 PropertyNamingStrategy` | `_propertyNamingStrategy` Custom property naming strategy in use, if any.
    `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

    Constructors
    Constructor and Description
    `MapperConfig.Base(ClassIntrospector<? extends BeanDescription> ci, AnnotationIntrospector ai, VisibilityChecker<?> vc, PropertyNamingStrategy pns, TypeFactory tf, TypeResolverBuilder<?> typer, DateFormat dateFormat, HandlerInstantiator hi)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `AnnotationIntrospector` | `getAnnotationIntrospector()`
    `ClassIntrospector<? extends BeanDescription>` | `getClassIntrospector()`
    `DateFormat` | `getDateFormat()`
    `HandlerInstantiator` | `getHandlerInstantiator()`
    `PropertyNamingStrategy` | `getPropertyNamingStrategy()`
    `TypeFactory` | `getTypeFactory()`
    `TypeResolverBuilder<?>` | `getTypeResolverBuilder()`
    `VisibilityChecker<?>` | `getVisibilityChecker()`
    `MapperConfig.Base` | `withAnnotationIntrospector(AnnotationIntrospector ai)`
    `MapperConfig.Base` | `withAppendedAnnotationIntrospector(AnnotationIntrospector ai)`
    `MapperConfig.Base` | `withClassIntrospector(ClassIntrospector<? extends BeanDescription> ci)`
    `MapperConfig.Base` | `withDateFormat(DateFormat df)`
    `MapperConfig.Base` | `withHandlerInstantiator(HandlerInstantiator hi)`
    `MapperConfig.Base` | `withInsertedAnnotationIntrospector(AnnotationIntrospector ai)`
    `MapperConfig.Base` | `withPropertyNamingStrategy(PropertyNamingStrategy pns)`
    `MapperConfig.Base` | `withTypeFactory(TypeFactory tf)`
    `MapperConfig.Base` | `withTypeResolverBuilder(TypeResolverBuilder<?> typer)`
    `MapperConfig.Base` | `withVisibility(JsonMethod forMethod, JsonAutoDetect.Visibility visibility)`
    `MapperConfig.Base` | `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<? 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.

    - #### _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)
      Since:
        1.5

    - #### _propertyNamingStrategy

          protected final PropertyNamingStrategy _propertyNamingStrategy

      Custom property naming strategy in use, if any.
      Since:
        1.8

    - #### _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`)
      Since:
        1.5

    - #### _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.

  - ### Constructor Detail

    - #### MapperConfig.Base

          public MapperConfig.Base(ClassIntrospector<? extends BeanDescription> ci,
                           AnnotationIntrospector ai,
                           VisibilityChecker<?> vc,
                           PropertyNamingStrategy pns,
                           TypeFactory tf,
                           TypeResolverBuilder<?> typer,
                           DateFormat dateFormat,
                           HandlerInstantiator hi)

  - ### Method Detail

    - #### withClassIntrospector

          public MapperConfig.Base withClassIntrospector(ClassIntrospector<? extends BeanDescription> ci)

    - #### withAnnotationIntrospector

          public MapperConfig.Base withAnnotationIntrospector(AnnotationIntrospector ai)

    - #### withInsertedAnnotationIntrospector

          public MapperConfig.Base withInsertedAnnotationIntrospector(AnnotationIntrospector ai)

    - #### withAppendedAnnotationIntrospector

          public MapperConfig.Base withAppendedAnnotationIntrospector(AnnotationIntrospector ai)

    - #### withVisibilityChecker

          public MapperConfig.Base withVisibilityChecker(VisibilityChecker<?> vc)

    - #### withVisibility

          public MapperConfig.Base withVisibility(JsonMethod forMethod,
                                         JsonAutoDetect.Visibility visibility)

    - #### withPropertyNamingStrategy

          public MapperConfig.Base withPropertyNamingStrategy(PropertyNamingStrategy pns)

    - #### withTypeFactory

          public MapperConfig.Base withTypeFactory(TypeFactory tf)

    - #### withTypeResolverBuilder

          public MapperConfig.Base withTypeResolverBuilder(TypeResolverBuilder<?> typer)

    - #### withDateFormat

          public MapperConfig.Base withDateFormat(DateFormat df)

    - #### withHandlerInstantiator

          public MapperConfig.Base withHandlerInstantiator(HandlerInstantiator hi)

    - #### getClassIntrospector

          public ClassIntrospector<? extends BeanDescription> 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()