Class MapperConfig<T extends MapperConfig<T>>
- All Implemented Interfaces:
Serializable,Snapshottable<MixInResolver>,MixInResolver
- Direct Known Subclasses:
MapperConfigBase
MapperFeature.
Small part of implementation is included here by aggregating
BaseSettings instance that contains configuration
that is shared between different types of instances.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final BaseSettingsImmutable container object for simple configuration settings.protected final longSet of shared mapper features enabled.protected static final JsonFormat.Valueprotected static final JsonInclude.Value -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedMapperConfig(BaseSettings base, long mapperFeatures) protectedMapperConfig(MapperConfig<T> src) protectedMapperConfig(MapperConfig<T> src, BaseSettings base) -
Method Summary
Modifier and TypeMethodDescriptionfinal booleanAccessor for determining whether it is ok to try to force override of access modifiers to be able to get or set values of non-public Methods, Fields; to invoke non-public Constructors, Methods; or to instantiate non-public Classes.abstract ClassIntrospectorAccessor for getting a newClassIntrospectorinstance initialized for per-call usage (with possible local caching)compileString(String src) Method for constructing a specialized textual object that can typically be serialized faster than basicString(depending on escaping needed if any, char-to-byte encoding if needed).abstract JavaTypeconstructType(Class<?> cls) Helper method that will constructJavaTypefor given raw class.abstract JavaTypeconstructType(TypeReference<?> valueTypeRef) Helper method that will constructJavaTypefor given type reference This is a simple short-cut for:abstract ConfigOverridefindConfigOverride(Class<?> type) Accessor for findingConfigOverrideto use for properties of given type, if any exist; or return `null` if not.abstract PropertyNamefindRootName(DatabindContext ctxt, Class<?> rawRootType) abstract PropertyNamefindRootName(DatabindContext ctxt, JavaType rootType) abstract Class<?>Accessor for finding currently active view, if any (null if none)Method for gettingAnnotationIntrospectorconfigured to introspect annotation values used for configuration.abstract ContextAttributesMethod for accessing per-instance shared (baseline/default) attribute values; these are used as the basis for per-call attributes.Method called during deserialization if Base64 encoded content needs to be decoded.final CacheProviderabstract ConfigOverridegetConfigOverride(Class<?> type) Accessor for findingConfigOverrideto use for properties of given type, if any exist; or if none, return an immutable "empty" instance with no overrides.final ConstructorDetectorabstract DatatypeFeaturesfinal DateFormatMethod for accessing currently configured (textual) date format that will be used for reading or writing date values (in case of writing, only if textual output is configured; not if dates are to be serialized as time stamps).abstract JsonInclude.ValuegetDefaultInclusion(Class<?> baseType, Class<?> propertyType) Accessor for default property inclusion to use for serialization, considering possible per-type override for given base type and possible per-type override for given property type.
NOTE: if no override found, defaults to value returned bygetDefaultPropertyInclusion().getDefaultInclusion(Class<?> baseType, Class<?> propertyType, JsonInclude.Value defaultIncl) Accessor for default property inclusion to use for serialization, considering possible per-type override for given base type and possible per-type override for given property type; but if none found, returning givendefaultInclabstract BooleanAccessor for the baseline merge info used as the global baseline, not considering possible per-type overrides.abstract BooleangetDefaultMergeable(Class<?> baseType) Accessor for the baseline merge info used for given type, including global defaults if no type-specific overrides defined.abstract JsonSetter.ValueAccessor for the baseline setter info used as the global baseline, not considering possible per-type overrides.abstract JsonFormat.ValuegetDefaultPropertyFormat(Class<?> baseType) Accessor for default format settings to use for serialization (and, to a degree deserialization), considering baseline settings and per-type defaults for given base type (if any).abstract JsonIgnoreProperties.ValuegetDefaultPropertyIgnorals(Class<?> baseType) Accessor for default property ignorals to use, if any, for given base type, based on config overrides settings (seefindConfigOverride(Class)).abstract JsonIgnoreProperties.ValuegetDefaultPropertyIgnorals(Class<?> baseType, AnnotatedClass actualClass) Helper method that may be called to see if there are property ignoral definitions from annotations (viaAnnotatedClass) or through "config overrides".abstract JsonInclude.ValueAccessor for default property inclusion to use for serialization, used unless overridden by per-type or per-property overrides.abstract JsonInclude.ValuegetDefaultPropertyInclusion(Class<?> baseType) Accessor for default property inclusion to use for serialization, considering possible per-type override for given base type.
NOTE: if no override found, defaults to value returned bygetDefaultPropertyInclusion().getDefaultPropertyInclusion(Class<?> baseType, JsonInclude.Value defaultIncl) Accessor for default property inclusion to use for serialization, considering possible per-type override for given base type; but if none found, returning givendefaultInclabstract JsonIncludeProperties.ValuegetDefaultPropertyInclusions(Class<?> baseType, AnnotatedClass actualClass) Helper method that may be called to see if there are property inclusion definitions from annotations (viaAnnotatedClass).final TypeResolverBuilder<?>getDefaultTyper(JavaType baseType) Method called to locate a type info handler for types that do not have one explicitly declared via annotations (or other configuration).abstract VisibilityCheckerAccessor for object used for determining whether specific property elements (method, constructors, fields) can be auto-detected based on their visibility (access modifiers).abstract VisibilityCheckergetDefaultVisibilityChecker(Class<?> baseType, AnnotatedClass actualClass) Accessor for object used for determining whether specific property elements (method, constructors, fields) can be auto-detected based on their visibility (access modifiers).final EnumNamingStrategyfinal HandlerInstantiatorfinal LocaleMethod for accessing the defaultLocaleto use for formatting, unless overridden by local annotations.final JsonNodeFactoryfinal PolymorphicTypeValidatorfinal PropertyNamingStrategyabstract SubtypeResolverfinal TimeZoneMethod for accessing the defaultTimeZoneto use for formatting, unless overridden by local annotations.abstract TypeFactoryabstract TypeResolverProviderbooleanMethod for checking whether aTimeZonehas been explicitly set for this configuring during construction ofObjectMapperor if it still has the default timezone/offset (zero-offset, "zulu").final booleanMethod for determining whether annotation processing is enabled or not (default settings are typically that it is enabled; must explicitly disable).abstract booleanisEnabled(DatatypeFeature feature) Accessor for checking whether giveDatatypeFeatureis enabled or not.final booleanAccessor for simple mapper features (which are shared for serialization, deserialization)final booleanAccessor for checking whether default settings for property handling indicate that properties should be alphabetically ordered or not.typeIdResolverInstance(Annotated annotated, Class<? extends TypeIdResolver> resolverClass) Method that can be called to obtain an instance ofTypeIdResolverof specified type.typeResolverBuilderInstance(Annotated annotated, Class<? extends TypeResolverBuilder<?>> builderClass) Method that can be called to obtain an instance ofTypeIdResolverof specified type.abstract booleanAccessor for checking whether configuration indicates that "root wrapping" (use of an extra property/name pair at root level) is expected or not.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface tools.jackson.databind.introspect.MixInResolver
findMixInClassFor, hasMixIns, snapshot
-
Field Details
-
EMPTY_INCLUDE
-
EMPTY_FORMAT
-
_mapperFeatures
protected final long _mapperFeaturesSet of shared mapper features enabled. -
_base
Immutable container object for simple configuration settings.
-
-
Constructor Details
-
MapperConfig
-
MapperConfig
-
MapperConfig
-
-
Method Details
-
isEnabled
Accessor for simple mapper features (which are shared for serialization, deserialization) -
isEnabled
Accessor for checking whether giveDatatypeFeatureis enabled or not.- Parameters:
feature- Feature to check- Returns:
- True if feature is enabled; false otherwise
-
getDatatypeFeatures
-
isAnnotationProcessingEnabled
public final boolean isAnnotationProcessingEnabled()Method for determining whether annotation processing is enabled or not (default settings are typically that it is enabled; must explicitly disable).- Returns:
- True if annotation processing is enabled; false if not
-
canOverrideAccessModifiers
public final boolean canOverrideAccessModifiers()Accessor for determining whether it is ok to try to force override of access modifiers to be able to get or set values of non-public Methods, Fields; to invoke non-public Constructors, Methods; or to instantiate non-public Classes. By default this is enabled, but on some platforms it needs to be prevented since if this would violate security constraints and cause failures.- Returns:
- True if access modifier overriding is allowed (and may be done for any Field, Method, Constructor or Class); false to prevent any attempts to override.
-
shouldSortPropertiesAlphabetically
public final boolean shouldSortPropertiesAlphabetically()Accessor for checking whether default settings for property handling indicate that properties should be alphabetically ordered or not. -
useRootWrapping
public abstract boolean useRootWrapping()Accessor for checking whether configuration indicates that "root wrapping" (use of an extra property/name pair at root level) is expected or not. -
compileString
Method for constructing a specialized textual object that can typically be serialized faster than basicString(depending on escaping needed if any, char-to-byte encoding if needed).- Parameters:
src- Text to represent- Returns:
- Optimized text object constructed
-
classIntrospectorInstance
Accessor for getting a newClassIntrospectorinstance initialized for per-call usage (with possible local caching) -
getAnnotationIntrospector
Method for gettingAnnotationIntrospectorconfigured to introspect annotation values used for configuration.Non-final since it is actually overridden by sub-classes (for now?)
-
getPropertyNamingStrategy
-
getEnumNamingStrategy
- Since:
- 2.19
-
getAccessorNaming
-
getHandlerInstantiator
-
getDefaultTyper
Method called to locate a type info handler for types that do not have one explicitly declared via annotations (or other configuration). If such a default handler is configured, it is returned; otherwise null is returned. -
getTypeResolverProvider
- Since:
- 3.0
-
getSubtypeResolver
-
getTypeFactory
-
getPolymorphicTypeValidator
-
constructType
Helper method that will constructJavaTypefor given raw class. This is a simple short-cut for:getTypeFactory().constructType(cls); -
constructType
Helper method that will constructJavaTypefor given type reference This is a simple short-cut for:getTypeFactory().constructType(valueTypeRef); -
findConfigOverride
Accessor for findingConfigOverrideto use for properties of given type, if any exist; or return `null` if not.Note that only directly associated override is found; no type hierarchy traversal is performed.
- Returns:
- Override object to use for the type, if defined; null if none.
-
getConfigOverride
Accessor for findingConfigOverrideto use for properties of given type, if any exist; or if none, return an immutable "empty" instance with no overrides.Note that only directly associated override is found; no type hierarchy traversal is performed.
- Returns:
- Override object to use for the type, never null (but may be empty)
-
getDefaultPropertyInclusion
Accessor for default property inclusion to use for serialization, used unless overridden by per-type or per-property overrides. -
getDefaultPropertyInclusion
Accessor for default property inclusion to use for serialization, considering possible per-type override for given base type.
NOTE: if no override found, defaults to value returned bygetDefaultPropertyInclusion(). -
getDefaultPropertyInclusion
public JsonInclude.Value getDefaultPropertyInclusion(Class<?> baseType, JsonInclude.Value defaultIncl) Accessor for default property inclusion to use for serialization, considering possible per-type override for given base type; but if none found, returning givendefaultIncl- Parameters:
defaultIncl- Inclusion setting to return if no overrides found.
-
getDefaultInclusion
Accessor for default property inclusion to use for serialization, considering possible per-type override for given base type and possible per-type override for given property type.
NOTE: if no override found, defaults to value returned bygetDefaultPropertyInclusion().- Parameters:
baseType- Type of the instance containing the targeted property.propertyType- Type of the property to look up inclusion setting for.
-
getDefaultInclusion
public JsonInclude.Value getDefaultInclusion(Class<?> baseType, Class<?> propertyType, JsonInclude.Value defaultIncl) Accessor for default property inclusion to use for serialization, considering possible per-type override for given base type and possible per-type override for given property type; but if none found, returning givendefaultIncl- Parameters:
baseType- Type of the instance containing the targeted property.propertyType- Type of the property to look up inclusion setting for.defaultIncl- Inclusion setting to return if no overrides found.
-
getDefaultPropertyFormat
Accessor for default format settings to use for serialization (and, to a degree deserialization), considering baseline settings and per-type defaults for given base type (if any).- Returns:
- (non-null) Format settings to use, possibly `JsonFormat.Value.empty()`
-
getDefaultPropertyIgnorals
Accessor for default property ignorals to use, if any, for given base type, based on config overrides settings (seefindConfigOverride(Class)). -
getDefaultPropertyIgnorals
public abstract JsonIgnoreProperties.Value getDefaultPropertyIgnorals(Class<?> baseType, AnnotatedClass actualClass) Helper method that may be called to see if there are property ignoral definitions from annotations (viaAnnotatedClass) or through "config overrides". If both exist, config overrides have precedence over class annotations. -
getDefaultPropertyInclusions
public abstract JsonIncludeProperties.Value getDefaultPropertyInclusions(Class<?> baseType, AnnotatedClass actualClass) Helper method that may be called to see if there are property inclusion definitions from annotations (viaAnnotatedClass). TODO: config override.- Since:
- 2.12
-
getDefaultVisibilityChecker
Accessor for 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 (usingJsonAutoDetectannotation) -
getDefaultVisibilityChecker
public abstract VisibilityChecker getDefaultVisibilityChecker(Class<?> baseType, AnnotatedClass actualClass) Accessor for object used for determining whether specific property elements (method, constructors, fields) can be auto-detected based on their visibility (access modifiers). This is based on global defaults (as would be returned bygetDefaultVisibilityChecker(), but then modified by possible class annotation (seeJsonAutoDetect) and/or per-type config override (seeConfigOverride.getVisibility()). -
getDefaultNullHandling
Accessor for the baseline setter info used as the global baseline, not considering possible per-type overrides.- Returns:
- Global base settings; never null
- Since:
- 3.0
-
getDefaultMergeable
Accessor for the baseline merge info used as the global baseline, not considering possible per-type overrides.- Returns:
- Global base settings, if any; `null` if none.
-
getDefaultMergeable
Accessor for the baseline merge info used for given type, including global defaults if no type-specific overrides defined.- Returns:
- Type-specific settings (if any); global defaults (same as
getDefaultMergeable()) otherwise, if any defined; or `null` if neither defined
-
getDateFormat
Method for accessing currently configured (textual) date format that will be used for reading or writing date values (in case of writing, only if textual output is configured; not if dates are to be serialized as time stamps).Note that typically
DateFormatinstances are not thread-safe (at least ones provided by JDK): this means that calling code should clone format instance before using it.This method is usually only called by framework itself, since there are convenience methods available via
DeserializationContextandSerializationContextthat take care of cloning and thread-safe reuse. -
getLocale
Method for accessing the defaultLocaleto use for formatting, unless overridden by local annotations. Initially set toLocale.getDefault(). -
getTimeZone
Method for accessing the defaultTimeZoneto use for formatting, unless overridden by local annotations. Initially set toTimeZone.getDefault(). -
hasExplicitTimeZone
public boolean hasExplicitTimeZone()Method for checking whether aTimeZonehas been explicitly set for this configuring during construction ofObjectMapperor if it still has the default timezone/offset (zero-offset, "zulu").- Returns:
trueif this configuration has explicitly specifiedTimeZone, orfalseif it uses the default time zone- Since:
- 2.12
-
getActiveView
Accessor for finding currently active view, if any (null if none) -
getBase64Variant
Method called during deserialization if Base64 encoded content needs to be decoded. Default version just returns default Jackson uses, which is modified-mime which does not add linefeeds (because those would have to be escaped in JSON strings); but this can be configured onObjectWriter. -
getNodeFactory
-
getAttributes
Method for accessing per-instance shared (baseline/default) attribute values; these are used as the basis for per-call attributes. -
findRootName
-
findRootName
-
getCacheProvider
- Since:
- 2.16
-
getConstructorDetector
- Since:
- 2.18 (in DeserializationConfig-only since 2.12)
-
typeResolverBuilderInstance
public TypeResolverBuilder<?> typeResolverBuilderInstance(Annotated annotated, Class<? extends TypeResolverBuilder<?>> builderClass) Method that can be called to obtain an instance ofTypeIdResolverof specified type. -
typeIdResolverInstance
public TypeIdResolver typeIdResolverInstance(Annotated annotated, Class<? extends TypeIdResolver> resolverClass) Method that can be called to obtain an instance ofTypeIdResolverof specified type.
-