com.fasterxml.jackson.jaxrs.cfg

## Class MapperConfiguratorBase<IMPL extends MapperConfiguratorBase<IMPL,MAPPER>,MAPPER extends com.fasterxml.jackson.databind.ObjectMapper>

- java.lang.Object
- - com.fasterxml.jackson.jaxrs.cfg.MapperConfiguratorBase<IMPL,MAPPER>

    public abstract class MapperConfiguratorBase<IMPL extends MapperConfiguratorBase<IMPL,MAPPER>,MAPPER extends com.fasterxml.jackson.databind.ObjectMapper>
    extends Object

Helper class used to encapsulate details of configuring an `ObjectMapper` instance to be used for data binding, as well as accessing it.

### Field Summary

Fields
`protected Annotations[]` `_defaultAnnotationsToUse` Annotations set to use by default; overridden by explicit call to `setAnnotationsToUse(com.fasterxml.jackson.jaxrs.cfg.Annotations[])`.
`protected MAPPER` `_defaultMapper` If no mapper was specified when constructed, and no configuration calls are made, a default mapper is constructed.
`protected Class<? extends com.fasterxml.jackson.databind.AnnotationIntrospector>` `_jaxbIntrospectorClass` To support optional dependency to Jackson JAXB annotations module (needed iff JAXB annotations are used for configuration)
`protected MAPPER` `_mapper` Mapper provider was constructed with if any, or that was constructed due to a call to explicitly configure mapper.

### Constructor Summary

Constructors
Constructor and Description
`MapperConfiguratorBase(MAPPER mapper, Annotations[] defaultAnnotations)`

### Method Summary

All Methods Instance Methods Abstract Methods Concrete Methods
`protected abstract com.fasterxml.jackson.databind.AnnotationIntrospector` `_resolveIntrospectors(Annotations[] annotationsToUse)`
`protected void` `_setAnnotations(com.fasterxml.jackson.databind.ObjectMapper mapper, Annotations[] annotationsToUse)`
`void` `configure(com.fasterxml.jackson.databind.DeserializationFeature f, boolean state)`
`void` `configure(com.fasterxml.jackson.core.JsonGenerator.Feature f, boolean state)`
`void` `configure(com.fasterxml.jackson.core.JsonParser.Feature f, boolean state)`
`void` `configure(com.fasterxml.jackson.databind.SerializationFeature f, boolean state)`
`abstract MAPPER` `getConfiguredMapper()` Method that locates, configures and returns `ObjectMapper` to use
`abstract MAPPER` `getDefaultMapper()`
`protected abstract MAPPER` `mapper()` Helper method that will ensure that there is a configurable non-default mapper (constructing an instance if one didn't yet exit), and return that mapper.
`void` `setAnnotationsToUse(Annotations[] annotationsToUse)`
`void` `setMapper(MAPPER m)`

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

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

### Field Detail

#### _mapper

    protected volatile MAPPER extends com.fasterxml.jackson.databind.ObjectMapper _mapper

Mapper provider was constructed with if any, or that was constructed due to a call to explicitly configure mapper. If defined (explicitly or implicitly) it will be used, instead of using provider-based lookup.

#### _defaultMapper

    protected volatile MAPPER extends com.fasterxml.jackson.databind.ObjectMapper _defaultMapper

If no mapper was specified when constructed, and no configuration calls are made, a default mapper is constructed. The difference between default mapper and regular one is that default mapper is only used if no mapper is found via provider lookup.

#### _defaultAnnotationsToUse

    protected final Annotations[] _defaultAnnotationsToUse

Annotations set to use by default; overridden by explicit call to `setAnnotationsToUse(com.fasterxml.jackson.jaxrs.cfg.Annotations[])`. Marked final in v2.17.1.

#### _jaxbIntrospectorClass

    protected Class<? extends com.fasterxml.jackson.databind.AnnotationIntrospector> _jaxbIntrospectorClass

To support optional dependency to Jackson JAXB annotations module (needed iff JAXB annotations are used for configuration)

### Constructor Detail

#### MapperConfiguratorBase

    public MapperConfiguratorBase(MAPPER mapper,
                                  Annotations[] defaultAnnotations)

### Method Detail

#### getConfiguredMapper

    public abstract MAPPER getConfiguredMapper()

Method that locates, configures and returns `ObjectMapper` to use

#### getDefaultMapper

    public abstract MAPPER getDefaultMapper()

#### mapper

    protected abstract MAPPER mapper()

Helper method that will ensure that there is a configurable non-default mapper (constructing an instance if one didn't yet exit), and return that mapper.

#### _resolveIntrospectors

    protected abstract com.fasterxml.jackson.databind.AnnotationIntrospector _resolveIntrospectors(Annotations[] annotationsToUse)

#### setMapper

    public final void setMapper(MAPPER m)

#### setAnnotationsToUse

    public final void setAnnotationsToUse(Annotations[] annotationsToUse)

#### configure

    public final void configure(com.fasterxml.jackson.databind.DeserializationFeature f,
                                boolean state)

#### configure

    public final void configure(com.fasterxml.jackson.databind.SerializationFeature f,
                                boolean state)

#### configure

    public final void configure(com.fasterxml.jackson.core.JsonParser.Feature f,
                                boolean state)

#### configure

    public final void configure(com.fasterxml.jackson.core.JsonGenerator.Feature f,
                                boolean state)

#### _setAnnotations

    protected final void _setAnnotations(com.fasterxml.jackson.databind.ObjectMapper mapper,
                                         Annotations[] annotationsToUse)