com.fasterxml.jackson.databind.cfg

## Class MapperConfigBase<CFG extends ConfigFeature,T extends MapperConfigBase<CFG,T>>

- java.lang.Object
- - com.fasterxml.jackson.databind.cfg.MapperConfig<T>
  - - com.fasterxml.jackson.databind.cfg.MapperConfigBase<CFG,T>

All Implemented Interfaces:
  ClassIntrospector.MixInResolver, Serializable

Direct Known Subclasses:
  DeserializationConfig, SerializationConfig

    public abstract class MapperConfigBase<CFG extends ConfigFeature,T extends MapperConfigBase<CFG,T>>
    extends MapperConfig<T>
    implements Serializable

See Also:
  Serialized Form

### Field Summary

Fields
`protected ContextAttributes` `_attributes` Contextual attributes accessible (get and set) during processing, on per-call basis.
`protected SimpleMixInResolver` `_mixIns` Mix-in annotation mappings to use, if any: immutable, can not be changed once defined.
`protected PropertyName` `_rootName` Explicitly defined root name to use, if any; if empty String, will disable root-name wrapping; if null, will use defaults
`protected RootNameLookup` `_rootNames`
`protected SubtypeResolver` `_subtypeResolver` Registered concrete subtypes that can be used instead of (or in addition to) ones declared using annotations.
`protected Class<?>` `_view` View to use for filtering out properties to serialize or deserialize.

### Fields inherited from class com.fasterxml.jackson.databind.cfg.MapperConfig

`_base, _mapperFeatures`

### Constructor Summary

Constructors
`protected` `MapperConfigBase(BaseSettings base, SubtypeResolver str, SimpleMixInResolver mixins, RootNameLookup rootNames)` Constructor used when creating a new instance (compared to that of creating fluent copies)
`protected` `MapperConfigBase(MapperConfigBase<CFG,T> src)` Pass-through constructor used when no changes are needed to the base class.
`protected` `MapperConfigBase(MapperConfigBase<CFG,T> src, BaseSettings base)`
`protected` `MapperConfigBase(MapperConfigBase<CFG,T> src, Class<?> view)`
`protected` `MapperConfigBase(MapperConfigBase<CFG,T> src, ContextAttributes attr)`
`protected` `MapperConfigBase(MapperConfigBase<CFG,T> src, int mapperFeatures)`
`protected` `MapperConfigBase(MapperConfigBase<CFG,T> src, PropertyName rootName)`
`protected` `MapperConfigBase(MapperConfigBase<CFG,T> src, SimpleMixInResolver mixins)`
`protected` `MapperConfigBase(MapperConfigBase<CFG,T> src, SimpleMixInResolver mixins, RootNameLookup rootNames)`
`protected` `MapperConfigBase(MapperConfigBase<CFG,T> src, SubtypeResolver str)`

### Method Summary

Methods
`ClassIntrospector.MixInResolver` `copy()` Method called to create a new, non-shared copy, to be used by different `ObjectMapper` instance, and one that should not be connected to this instance, if resolver has mutable state.
`Class<?>` `findMixInClassFor(Class<?> cls)` Method that will check if there are "mix-in" classes (with mix-in annotations) for given class
`PropertyName` `findRootName(Class<?> rawRootType)`
`PropertyName` `findRootName(JavaType rootType)`
`Class<?>` `getActiveView()` Accessor for finding currently active view, if any (null if none)
`ContextAttributes` `getAttributes()` Method for accessing per-instance shared (baseline/default) attribute values; these are used as the basis for per-call attributes.
`PropertyName` `getFullRootName()`
`String` `getRootName()` Deprecated. Since 2.6 use `getFullRootName()` instead.
`SubtypeResolver` `getSubtypeResolver()` Accessor for object used for finding out all reachable subtypes for supertypes; needed when a logical type name is used instead of class name (or custom scheme).
`int` `mixInCount()` Test-only method -- does not reflect possibly open-ended set that external mix-in resolver might provide.
`abstract T` `with(AnnotationIntrospector ai)` Method for constructing and returning a new instance with different `AnnotationIntrospector` to use (replacing old one).
`abstract T` `with(Base64Variant base64)` Method for constructing and returning a new instance with different default `Base64Variant` to use with base64-encoded binary values.
`abstract T` `with(ClassIntrospector ci)` Method for constructing and returning a new instance with different `ClassIntrospector` to use.
`abstract T` `with(ContextAttributes attrs)` Method for constructing an instance that has specified contextual attributes.
`abstract T` `with(DateFormat df)` Method for constructing and returning a new instance with different `DateFormat` to use.
`abstract T` `with(HandlerInstantiator hi)` Method for constructing and returning a new instance with different `HandlerInstantiator` to use.
`abstract T` `with(Locale l)` Method for constructing and returning a new instance with different default `Locale` to use for formatting.
`abstract T` `with(PropertyNamingStrategy strategy)` Method for constructing and returning a new instance with different `PropertyNamingStrategy` to use.
`abstract T` `with(SubtypeResolver str)` Method for constructing and returning a new instance with different `SubtypeResolver` to use.
`abstract T` `with(TimeZone tz)` Method for constructing and returning a new instance with different default `TimeZone` to use for formatting of date values.
`abstract T` `with(TypeFactory typeFactory)` Method for constructing and returning a new instance with different `TypeFactory` to use.
`abstract T` `with(TypeResolverBuilder<?> trb)` Method for constructing and returning a new instance with different `TypeResolverBuilder` to use.
`abstract T` `with(VisibilityChecker<?> vc)` Method for constructing and returning a new instance with different `VisibilityChecker` to use.
`abstract T` `withAppendedAnnotationIntrospector(AnnotationIntrospector introspector)` Method for constructing and returning a new instance with additional `AnnotationIntrospector` appended (as the lowest priority one)
`T` `withAttribute(Object key, Object value)` Method for constructing an instance that has specified value for attribute for given key.
`T` `withAttributes(Map<Object,Object> attributes)` Method for constructing an instance that has only specified attributes, removing any attributes that exist before the call.
`abstract T` `withInsertedAnnotationIntrospector(AnnotationIntrospector introspector)` Method for constructing and returning a new instance with additional `AnnotationIntrospector` inserted (as the highest priority one)
`T` `withoutAttribute(Object key)` Method for constructing an instance that has no value for attribute for given key.
`abstract T` `withRootName(PropertyName rootName)` Method for constructing and returning a new instance with different root name to use (none, if null).
`T` `withRootName(String rootName)`
`abstract T` `withView(Class<?> view)` Method for constructing and returning a new instance with different view to use.
`abstract T` `withVisibility(PropertyAccessor forMethod, JsonAutoDetect.Visibility visibility)` Method for constructing and returning a new instance with different minimal visibility level for specified property type

### Methods inherited from class com.fasterxml.jackson.databind.cfg.MapperConfig

`canOverrideAccessModifiers, collectFeatureDefaults, compileString, constructSpecializedType, constructType, constructType, getAnnotationIntrospector, getBase64Variant, getClassIntrospector, getDateFormat, getDefaultTyper, getDefaultVisibilityChecker, getHandlerInstantiator, getLocale, getPropertyNamingStrategy, getTimeZone, getTypeFactory, hasMapperFeatures, introspectClassAnnotations, introspectClassAnnotations, introspectDirectClassAnnotations, introspectDirectClassAnnotations, isAnnotationProcessingEnabled, isEnabled, shouldSortPropertiesAlphabetically, typeIdResolverInstance, typeResolverBuilderInstance, useRootWrapping, with, with, without`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### _mixIns

    protected final SimpleMixInResolver _mixIns

Mix-in annotation mappings to use, if any: immutable, can not be changed once defined.

Since:
  2.6

#### _subtypeResolver

    protected final SubtypeResolver _subtypeResolver

Registered concrete subtypes that can be used instead of (or in addition to) ones declared using annotations.

#### _rootName

    protected final PropertyName _rootName

Explicitly defined root name to use, if any; if empty String, will disable root-name wrapping; if null, will use defaults

#### _view

    protected final Class<?> _view

View to use for filtering out properties to serialize or deserialize. Null if none (will also be assigned null if `Object.class` is defined), meaning that all properties are to be included.

#### _attributes

    protected final ContextAttributes _attributes

Contextual attributes accessible (get and set) during processing, on per-call basis.

Since:
  2.3

#### _rootNames

    protected final RootNameLookup _rootNames

Since:
  2.6

### Constructor Detail

#### MapperConfigBase

    protected MapperConfigBase(BaseSettings base,
                    SubtypeResolver str,
                    SimpleMixInResolver mixins,
                    RootNameLookup rootNames)

Constructor used when creating a new instance (compared to that of creating fluent copies)

#### MapperConfigBase

    protected MapperConfigBase(MapperConfigBase<CFG,T> src)

Pass-through constructor used when no changes are needed to the base class.

#### MapperConfigBase

    protected MapperConfigBase(MapperConfigBase<CFG,T> src,
                    BaseSettings base)

#### MapperConfigBase

    protected MapperConfigBase(MapperConfigBase<CFG,T> src,
                    int mapperFeatures)

#### MapperConfigBase

    protected MapperConfigBase(MapperConfigBase<CFG,T> src,
                    SubtypeResolver str)

#### MapperConfigBase

    protected MapperConfigBase(MapperConfigBase<CFG,T> src,
                    PropertyName rootName)

#### MapperConfigBase

    protected MapperConfigBase(MapperConfigBase<CFG,T> src,
                    Class<?> view)

#### MapperConfigBase

    protected MapperConfigBase(MapperConfigBase<CFG,T> src,
                    SimpleMixInResolver mixins)

Since:
  2.1

#### MapperConfigBase

    protected MapperConfigBase(MapperConfigBase<CFG,T> src,
                    ContextAttributes attr)

Since:
  2.3

#### MapperConfigBase

    protected MapperConfigBase(MapperConfigBase<CFG,T> src,
                    SimpleMixInResolver mixins,
                    RootNameLookup rootNames)

Since:
  2.6

### Method Detail

#### with

    public abstract T with(AnnotationIntrospector ai)

Method for constructing and returning a new instance with different `AnnotationIntrospector` to use (replacing old one).

NOTE: make sure to register new instance with `ObjectMapper` if directly calling this method.

#### withAppendedAnnotationIntrospector

    public abstract T withAppendedAnnotationIntrospector(AnnotationIntrospector introspector)

Method for constructing and returning a new instance with additional `AnnotationIntrospector` appended (as the lowest priority one)

#### withInsertedAnnotationIntrospector

    public abstract T withInsertedAnnotationIntrospector(AnnotationIntrospector introspector)

Method for constructing and returning a new instance with additional `AnnotationIntrospector` inserted (as the highest priority one)

#### with

    public abstract T with(ClassIntrospector ci)

Method for constructing and returning a new instance with different `ClassIntrospector` to use.

NOTE: make sure to register new instance with `ObjectMapper` if directly calling this method.

#### with

    public abstract T with(DateFormat df)

Method for constructing and returning a new instance with different `DateFormat` to use.

NOTE: make sure to register new instance with `ObjectMapper` if directly calling this method.

#### with

    public abstract T with(HandlerInstantiator hi)

Method for constructing and returning a new instance with different `HandlerInstantiator` to use.

NOTE: make sure to register new instance with `ObjectMapper` if directly calling this method.

#### with

    public abstract T with(PropertyNamingStrategy strategy)

Method for constructing and returning a new instance with different `PropertyNamingStrategy` to use.

NOTE: make sure to register new instance with `ObjectMapper` if directly calling this method.

#### withRootName

    public abstract T withRootName(PropertyName rootName)

Method for constructing and returning a new instance with different root name to use (none, if null).

Note that when a root name is set to a non-Empty String, this will automatically force use of root element wrapping with given name. If empty String passed, will disable root name wrapping; and if null used, will instead use `SerializationFeature` to determine if to use wrapping, and annotation (or default name) for actual root name to use.

Parameters:
  `rootName` - to use: if null, means "use default" (clear setting); if empty String ("") means that no root name wrapping is used; otherwise defines root name to use.
Since:
  2.6

#### withRootName

    public T withRootName(String rootName)

#### with

    public abstract T with(SubtypeResolver str)

Method for constructing and returning a new instance with different `SubtypeResolver` to use.

NOTE: make sure to register new instance with `ObjectMapper` if directly calling this method.

#### with

    public abstract T with(TypeFactory typeFactory)

Method for constructing and returning a new instance with different `TypeFactory` to use.

#### with

    public abstract T with(TypeResolverBuilder<?> trb)

Method for constructing and returning a new instance with different `TypeResolverBuilder` to use.

#### withView

    public abstract T withView(Class<?> view)

Method for constructing and returning a new instance with different view to use.

#### with

    public abstract T with(VisibilityChecker<?> vc)

Method for constructing and returning a new instance with different `VisibilityChecker` to use.

#### withVisibility

    public abstract T withVisibility(PropertyAccessor forMethod,
                   JsonAutoDetect.Visibility visibility)

Method for constructing and returning a new instance with different minimal visibility level for specified property type

#### with

    public abstract T with(Locale l)

Method for constructing and returning a new instance with different default `Locale` to use for formatting.

#### with

    public abstract T with(TimeZone tz)

Method for constructing and returning a new instance with different default `TimeZone` to use for formatting of date values.

#### with

    public abstract T with(Base64Variant base64)

Method for constructing and returning a new instance with different default `Base64Variant` to use with base64-encoded binary values.

#### with

    public abstract T with(ContextAttributes attrs)

Method for constructing an instance that has specified contextual attributes.

Since:
  2.3

#### withAttributes

    public T withAttributes(Map<Object,Object> attributes)

Method for constructing an instance that has only specified attributes, removing any attributes that exist before the call.

Since:
  2.3

#### withAttribute

    public T withAttribute(Object key,
                  Object value)

Method for constructing an instance that has specified value for attribute for given key.

Since:
  2.3

#### withoutAttribute

    public T withoutAttribute(Object key)

Method for constructing an instance that has no value for attribute for given key.

Since:
  2.3

#### getSubtypeResolver

    public final SubtypeResolver getSubtypeResolver()

Accessor for object used for finding out all reachable subtypes for supertypes; needed when a logical type name is used instead of class name (or custom scheme).

Specified by:
  `getSubtypeResolver` in class `MapperConfig<T extends MapperConfigBase<CFG,T>>`

#### getRootName

    @Deprecated
    public final String getRootName()

Deprecated. Since 2.6 use `getFullRootName()` instead.

#### getFullRootName

    public final PropertyName getFullRootName()

Since:
  2.6

#### getActiveView

    public final Class<?> getActiveView()

Description copied from class: `MapperConfig`
Accessor for finding currently active view, if any (null if none)

Specified by:
  `getActiveView` in class `MapperConfig<T extends MapperConfigBase<CFG,T>>`

#### getAttributes

    public final ContextAttributes getAttributes()

Description copied from class: `MapperConfig`
Method for accessing per-instance shared (baseline/default) attribute values; these are used as the basis for per-call attributes.

Specified by:
  `getAttributes` in class `MapperConfig<T extends MapperConfigBase<CFG,T>>`

#### findRootName

    public PropertyName findRootName(JavaType rootType)

Specified by:
  `findRootName` in class `MapperConfig<T extends MapperConfigBase<CFG,T>>`

#### findRootName

    public PropertyName findRootName(Class<?> rawRootType)

Specified by:
  `findRootName` in class `MapperConfig<T extends MapperConfigBase<CFG,T>>`

#### findMixInClassFor

    public final Class<?> findMixInClassFor(Class<?> cls)

Method that will check if there are "mix-in" classes (with mix-in annotations) for given class

Specified by:
  `findMixInClassFor` in interface `ClassIntrospector.MixInResolver`

#### copy

    public ClassIntrospector.MixInResolver copy()

Description copied from interface: `ClassIntrospector.MixInResolver`
Method called to create a new, non-shared copy, to be used by different `ObjectMapper` instance, and one that should not be connected to this instance, if resolver has mutable state. If resolver is immutable may simply return `this`.

Specified by:
  `copy` in interface `ClassIntrospector.MixInResolver`

#### mixInCount

    public final int mixInCount()

Test-only method -- does not reflect possibly open-ended set that external mix-in resolver might provide.