Package com.fasterxml.jackson.databind
Class DatabindContext
- java.lang.Object
-
- com.fasterxml.jackson.databind.DatabindContext
-
- Direct Known Subclasses:
DeserializationContext
,SerializerProvider
public abstract class DatabindContext extends java.lang.Object
Shared base class forDeserializationContext
andSerializerProvider
, context objects passed through data-binding process. Designed so that some of implementations can rely on shared aspects like access to secondary contextual objects like type factories or handler instantiators.- Since:
- 2.2
-
-
Constructor Summary
Constructors Constructor Description DatabindContext()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract boolean
canOverrideAccessModifiers()
Convenience method for accessing serialization view in use (if any); equivalent to:abstract JavaType
constructSpecializedType(JavaType baseType, java.lang.Class<?> subclass)
Convenience method for constructing subtypes, retaining generic type parameter (if any).JavaType
constructType(java.lang.reflect.Type type)
Convenience method for constructingJavaType
for given JDK type (usuallyClass
)Converter<java.lang.Object,java.lang.Object>
converterInstance(Annotated annotated, java.lang.Object converterDef)
Helper method to use to construct aConverter
, given a definition that may be either actual converter instance, or Class for instantiating one.abstract java.lang.Class<?>
getActiveView()
Accessor for locating currently active view, if any; returns null if no view has been set.abstract AnnotationIntrospector
getAnnotationIntrospector()
Convenience method for accessing serialization view in use (if any); equivalent to:abstract java.lang.Object
getAttribute(java.lang.Object key)
Method for accessing attributes available in this context.abstract MapperConfig<?>
getConfig()
Accessor to currently active configuration (both per-request configs and per-mapper config).abstract DatatypeFeatures
getDatatypeFeatures()
abstract JsonFormat.Value
getDefaultPropertyFormat(java.lang.Class<?> baseType)
abstract java.util.Locale
getLocale()
abstract java.util.TimeZone
getTimeZone()
abstract TypeFactory
getTypeFactory()
abstract boolean
isEnabled(DatatypeFeature feature)
Method for checking whether specified datatype feature is enabled or not.abstract boolean
isEnabled(MapperFeature feature)
Convenience method for checking whether specified Mapper feature is enabled or not.ObjectIdGenerator<?>
objectIdGeneratorInstance(Annotated annotated, ObjectIdInfo objectIdInfo)
ObjectIdResolver
objectIdResolverInstance(Annotated annotated, ObjectIdInfo objectIdInfo)
abstract <T> T
reportBadDefinition(JavaType type, java.lang.String msg)
Helper method called to indicate a generic problem that stems from type definition(s), not input data, or input/output state; typically this means throwing aInvalidDefinitionException
.<T> T
reportBadDefinition(java.lang.Class<?> type, java.lang.String msg)
JavaType
resolveAndValidateSubType(JavaType baseType, java.lang.String subClass, PolymorphicTypeValidator ptv)
Lookup method similar toresolveSubType(com.fasterxml.jackson.databind.JavaType, java.lang.String)
but one that also validates that resulting subtype is valid according to givenPolymorphicTypeValidator
.JavaType
resolveSubType(JavaType baseType, java.lang.String subClassName)
Lookup method called when code needs to resolve class name from input; usually simple lookup.abstract DatabindContext
setAttribute(java.lang.Object key, java.lang.Object value)
Method for setting per-call value of given attribute.
-
-
-
Method Detail
-
getConfig
public abstract MapperConfig<?> getConfig()
Accessor to currently active configuration (both per-request configs and per-mapper config).
-
getAnnotationIntrospector
public abstract AnnotationIntrospector getAnnotationIntrospector()
Convenience method for accessing serialization view in use (if any); equivalent to:getConfig().getAnnotationIntrospector();
-
isEnabled
public abstract boolean isEnabled(MapperFeature feature)
Convenience method for checking whether specified Mapper feature is enabled or not. Shortcut for:getConfig().isEnabled(feature);
-
isEnabled
public abstract boolean isEnabled(DatatypeFeature feature)
Method for checking whether specified datatype feature is enabled or not.- Since:
- 2.14
-
getDatatypeFeatures
public abstract DatatypeFeatures getDatatypeFeatures()
- Since:
- 2.15
-
canOverrideAccessModifiers
public abstract boolean canOverrideAccessModifiers()
Convenience method for accessing serialization view in use (if any); equivalent to:getConfig().canOverrideAccessModifiers();
-
getActiveView
public abstract java.lang.Class<?> getActiveView()
Accessor for locating currently active view, if any; returns null if no view has been set.
-
getLocale
public abstract java.util.Locale getLocale()
- Since:
- 2.6
-
getTimeZone
public abstract java.util.TimeZone getTimeZone()
- Since:
- 2.6
-
getDefaultPropertyFormat
public abstract JsonFormat.Value getDefaultPropertyFormat(java.lang.Class<?> baseType)
- Since:
- 2.7
-
getAttribute
public abstract java.lang.Object getAttribute(java.lang.Object key)
Method for accessing attributes available in this context. Per-call attributes have highest precedence; attributes set viaObjectReader
orObjectWriter
have lower precedence.- Parameters:
key
- Key of the attribute to get- Returns:
- Value of the attribute, if any; null otherwise
- Since:
- 2.3
-
setAttribute
public abstract DatabindContext setAttribute(java.lang.Object key, java.lang.Object value)
Method for setting per-call value of given attribute. This will override any previously defined value for the attribute within this context.- Parameters:
key
- Key of the attribute to setvalue
- Value to set attribute to- Returns:
- This context object, to allow chaining
- Since:
- 2.3
-
constructType
public JavaType constructType(java.lang.reflect.Type type)
Convenience method for constructingJavaType
for given JDK type (usuallyClass
)
-
constructSpecializedType
public abstract JavaType constructSpecializedType(JavaType baseType, java.lang.Class<?> subclass)
Convenience method for constructing subtypes, retaining generic type parameter (if any).Note: since 2.11 handling has varied a bit across serialization, deserialization.
-
resolveSubType
public JavaType resolveSubType(JavaType baseType, java.lang.String subClassName) throws JsonMappingException
Lookup method called when code needs to resolve class name from input; usually simple lookup. Note that unlikeresolveAndValidateSubType(com.fasterxml.jackson.databind.JavaType, java.lang.String, com.fasterxml.jackson.databind.jsontype.PolymorphicTypeValidator)
this method DOES NOT validate subtype against configuredPolymorphicTypeValidator
: usually because such check has already been made.- Throws:
JsonMappingException
- Since:
- 2.9
-
resolveAndValidateSubType
public JavaType resolveAndValidateSubType(JavaType baseType, java.lang.String subClass, PolymorphicTypeValidator ptv) throws JsonMappingException
Lookup method similar toresolveSubType(com.fasterxml.jackson.databind.JavaType, java.lang.String)
but one that also validates that resulting subtype is valid according to givenPolymorphicTypeValidator
.- Throws:
JsonMappingException
- Since:
- 2.10
-
getTypeFactory
public abstract TypeFactory getTypeFactory()
-
objectIdGeneratorInstance
public ObjectIdGenerator<?> objectIdGeneratorInstance(Annotated annotated, ObjectIdInfo objectIdInfo) throws JsonMappingException
- Throws:
JsonMappingException
-
objectIdResolverInstance
public ObjectIdResolver objectIdResolverInstance(Annotated annotated, ObjectIdInfo objectIdInfo)
-
converterInstance
public Converter<java.lang.Object,java.lang.Object> converterInstance(Annotated annotated, java.lang.Object converterDef) throws JsonMappingException
Helper method to use to construct aConverter
, given a definition that may be either actual converter instance, or Class for instantiating one.- Throws:
JsonMappingException
- Since:
- 2.2
-
reportBadDefinition
public abstract <T> T reportBadDefinition(JavaType type, java.lang.String msg) throws JsonMappingException
Helper method called to indicate a generic problem that stems from type definition(s), not input data, or input/output state; typically this means throwing aInvalidDefinitionException
.- Throws:
JsonMappingException
- Since:
- 2.9
-
reportBadDefinition
public <T> T reportBadDefinition(java.lang.Class<?> type, java.lang.String msg) throws JsonMappingException
- Throws:
JsonMappingException
- Since:
- 2.9
-
-