Class MapperConfig<T extends MapperConfig<T>>
- All Implemented Interfaces:
ClassIntrospector.MixInResolver
,Serializable
- 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
Modifier and TypeFieldDescriptionprotected final BaseSettings
Immutable container object for simple configuration settings.protected final long
Set of shared mapper features enabled.protected static final JsonFormat.Value
protected static final JsonInclude.Value
-
Constructor Summary
ModifierConstructorDescriptionprotected
MapperConfig
(BaseSettings base, long mapperFeatures) protected
MapperConfig
(MapperConfig<T> src) protected
MapperConfig
(MapperConfig<T> src, long mapperFeatures) protected
MapperConfig
(MapperConfig<T> src, BaseSettings base) -
Method Summary
Modifier and TypeMethodDescriptionfinal boolean
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.static <F extends Enum<F> & ConfigFeature>
intcollectFeatureDefaults
(Class<F> enumClass) Method that calculates bit set (flags) of all features that are enabled by default.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).constructSpecializedType
(JavaType baseType, Class<?> subclass) final JavaType
constructType
(TypeReference<?> valueTypeRef) Helper method that will constructJavaType
for given type reference This is a simple short-cut for:final JavaType
constructType
(Class<?> cls) Helper method that will constructJavaType
for given raw class.abstract ConfigOverride
findConfigOverride
(Class<?> type) Accessor for findingConfigOverride
to use for properties of given type, if any exist; or return `null` if not.abstract PropertyName
findRootName
(JavaType rootType) abstract PropertyName
findRootName
(Class<?> rawRootType) abstract Class<?>
Accessor for finding currently active view, if any (null if none)Method for gettingAnnotationIntrospector
configured to introspect annotation values used for configuration.abstract ContextAttributes
Method 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.abstract ConfigOverride
getConfigOverride
(Class<?> type) Accessor for findingConfigOverride
to use for properties of given type, if any exist; or if none, return an immutable "empty" instance with no overrides.final DateFormat
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).abstract JsonInclude.Value
getDefaultInclusion
(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 givendefaultIncl
abstract Boolean
Accessor for the baseline merge info used as the global baseline, not considering possible per-type overrides.abstract Boolean
getDefaultMergeable
(Class<?> baseType) Accessor for the baseline merge info used for given type, including global defaults if no type-specific overrides defined.abstract JsonFormat.Value
getDefaultPropertyFormat
(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.Value
getDefaultPropertyIgnorals
(Class<?> baseType) Accessor for default property ignorals to use, if any, for given base type, based on config overrides settings (seefindConfigOverride(Class)
).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".abstract JsonInclude.Value
Accessor for default property inclusion to use for serialization, used unless overridden by per-type or per-property overrides.abstract JsonInclude.Value
getDefaultPropertyInclusion
(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 givendefaultIncl
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
).abstract JsonSetter.Value
Accessor for the baseline setter info used as the global baseline, not considering possible per-type overrides.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 VisibilityChecker<?>
Accessor for object used for determining whether specific property elements (method, constructors, fields) can be auto-detected based on their visibility (access modifiers).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).final HandlerInstantiator
final Locale
Method for accessing the defaultLocale
to use for formatting, unless overridden by local annotations.Simple accessor for defaultPolymorphicTypeValidator
to use for legacy Default Typing methods (ObjectMapper.enableDefaultTyping()
) and annotation based enabling.final PropertyNamingStrategy
abstract SubtypeResolver
final TimeZone
Method for accessing the defaultTimeZone
to use for formatting, unless overridden by local annotations.final TypeFactory
boolean
Method for checking whether aTimeZone
has been explicitly set for this configuring during construction ofObjectMapper
or if it still has the default timezone/offset (zero-offset, "zulu").final boolean
hasMapperFeatures
(int featureMask) Deprecated.Since 2.13 -- no replacementAccessor for getting bean description that only contains class annotations: useful if no getter/setter/creator information is needed.introspectClassAnnotations
(Class<?> cls) Accessor for getting bean description that only contains class annotations: useful if no getter/setter/creator information is needed.final BeanDescription
Accessor for getting bean description that only contains immediate class annotations: ones from the class, and its direct mix-in, if any, but not from super types.Accessor for getting bean description that only contains immediate class annotations: ones from the class, and its direct mix-in, if any, but not from super types.final boolean
Method for determining whether annotation processing is enabled or not (default settings are typically that it is enabled; must explicitly disable).final boolean
Accessor for simple mapper features (which are shared for serialization, deserialization)final boolean
Accessor 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 ofTypeIdResolver
of specified type.typeResolverBuilderInstance
(Annotated annotated, Class<? extends TypeResolverBuilder<?>> builderClass) Method that can be called to obtain an instance ofTypeIdResolver
of specified type.abstract boolean
Accessor for checking whether configuration indicates that "root wrapping" (use of an extra property/name pair at root level) is expected or not.abstract T
with
(MapperFeature... features) Method for constructing and returning a new instance with specified mapper features enabled.abstract T
with
(MapperFeature feature, boolean state) abstract T
without
(MapperFeature... features) Method for constructing and returning a new instance with specified mapper features disabled.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.introspect.ClassIntrospector.MixInResolver
copy, findMixInClassFor
-
Field Details
-
EMPTY_INCLUDE
- Since:
- 2.7
-
EMPTY_FORMAT
- Since:
- 2.7
-
_mapperFeatures
protected final long _mapperFeaturesSet of shared mapper features enabled.NOTE: changed from
int
(in Jackson 2.12 and prior} tolong
(2.13 and later) -
_base
Immutable container object for simple configuration settings.
-
-
Constructor Details
-
MapperConfig
-
MapperConfig
-
MapperConfig
-
MapperConfig
-
-
Method Details
-
collectFeatureDefaults
Method that calculates bit set (flags) of all features that are enabled by default. -
with
Method for constructing and returning a new instance with specified mapper features enabled. -
without
Method for constructing and returning a new instance with specified mapper features disabled. -
with
- Since:
- 2.3
-
isEnabled
Accessor for simple mapper features (which are shared for serialization, deserialization) -
hasMapperFeatures
Deprecated.Since 2.13 -- no replacement"Bulk" access method for checking that all features specified by mask are enabled.- Since:
- 2.3
-
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
- Since:
- 2.4
-
getClassIntrospector
-
getAnnotationIntrospector
Method for gettingAnnotationIntrospector
configured to introspect annotation values used for configuration.Non-final since it is actually overridden by sub-classes (for now?)
-
getPropertyNamingStrategy
-
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 default handler is configured, it is returned; otherwise null is returned. -
getSubtypeResolver
-
getPolymorphicTypeValidator
Simple accessor for defaultPolymorphicTypeValidator
to use for legacy Default Typing methods (ObjectMapper.enableDefaultTyping()
) and annotation based enabling.Since 2.11 will also check
MapperFeature.BLOCK_UNSAFE_POLYMORPHIC_BASE_TYPES
to possibly override default to more restrictive implementation, seeDefaultBaseTypeLimitingValidator
).- Since:
- 2.10
-
getTypeFactory
-
constructType
Helper method that will constructJavaType
for given raw class. This is a simple short-cut for:getTypeFactory().constructType(cls);
-
constructType
Helper method that will constructJavaType
for given type reference This is a simple short-cut for:getTypeFactory().constructType(valueTypeRef);
-
constructSpecializedType
-
introspectClassAnnotations
Accessor for getting bean description that only contains class annotations: useful if no getter/setter/creator information is needed. -
introspectClassAnnotations
Accessor for getting bean description that only contains class annotations: useful if no getter/setter/creator information is needed. -
introspectDirectClassAnnotations
Accessor for getting bean description that only contains immediate class annotations: ones from the class, and its direct mix-in, if any, but not from super types. -
introspectDirectClassAnnotations
Accessor for getting bean description that only contains immediate class annotations: ones from the class, and its direct mix-in, if any, but not from super types. -
findConfigOverride
Accessor for findingConfigOverride
to 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.
- Since:
- 2.8
-
getConfigOverride
Accessor for findingConfigOverride
to 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)
- Since:
- 2.9
-
getDefaultPropertyInclusion
Accessor for default property inclusion to use for serialization, used unless overridden by per-type or per-property overrides.- Since:
- 2.7
-
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()
.- Since:
- 2.7
-
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.- Since:
- 2.8.2
-
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.- Since:
- 2.9
-
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.- Since:
- 2.9
-
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).- Since:
- 2.7
-
getDefaultPropertyIgnorals
Accessor for default property ignorals to use, if any, for given base type, based on config overrides settings (seefindConfigOverride(Class)
).- Since:
- 2.8
-
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.- Since:
- 2.8
-
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 (usingJsonAutoDetect
annotation) -
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()
).- Since:
- 2.9
-
getDefaultSetterInfo
Accessor for the baseline setter info used as the global baseline, not considering possible per-type overrides.- Returns:
- Global base settings; never null
- Since:
- 2.9
-
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.
- Since:
- 2.9
-
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 - Since:
- 2.9
-
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
DateFormat
instances 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
DeserializationContext
andSerializerProvider
that take care of cloning and thread-safe reuse. -
getLocale
Method for accessing the defaultLocale
to use for formatting, unless overridden by local annotations. Initially set toLocale.getDefault()
. -
getTimeZone
Method for accessing the defaultTimeZone
to use for formatting, unless overridden by local annotations. Initially set toTimeZone.getDefault()
. -
hasExplicitTimeZone
public boolean hasExplicitTimeZone()Method for checking whether aTimeZone
has been explicitly set for this configuring during construction ofObjectMapper
or if it still has the default timezone/offset (zero-offset, "zulu").- Returns:
true
if this configuration has explicitly specifiedTimeZone
, orfalse
if 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
. -
getAttributes
Method for accessing per-instance shared (baseline/default) attribute values; these are used as the basis for per-call attributes.- Since:
- 2.3
-
findRootName
- Since:
- 2.6
-
findRootName
- Since:
- 2.6
-
typeResolverBuilderInstance
public TypeResolverBuilder<?> typeResolverBuilderInstance(Annotated annotated, Class<? extends TypeResolverBuilder<?>> builderClass) Method that can be called to obtain an instance ofTypeIdResolver
of specified type. -
typeIdResolverInstance
public TypeIdResolver typeIdResolverInstance(Annotated annotated, Class<? extends TypeIdResolver> resolverClass) Method that can be called to obtain an instance ofTypeIdResolver
of specified type.
-