Class DatabindContext
java.lang.Object
edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.DatabindContext
- Direct Known Subclasses:
DeserializationContext
,SerializerProvider
Shared base class for
DeserializationContext
and
SerializerProvider
, 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
-
Method Summary
Modifier and TypeMethodDescriptionprotected String
_colonConcat
(String msgBase, String extra) protected String
protected final String
protected String
_quotedString
(String desc) protected <T> T
_throwNotASubtype
(JavaType baseType, String subType) protected <T> T
_throwSubtypeClassNotAllowed
(JavaType baseType, String subType, PolymorphicTypeValidator ptv) protected <T> T
_throwSubtypeNameNotAllowed
(JavaType baseType, String subType, PolymorphicTypeValidator ptv) protected final String
abstract boolean
Convenience method for accessing serialization view in use (if any); equivalent to:abstract JavaType
constructSpecializedType
(JavaType baseType, Class<?> subclass) Convenience method for constructing subtypes, retaining generic type parameter (if any).constructType
(Type type) converterInstance
(Annotated annotated, 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 Class<?>
Accessor for locating currently active view, if any; returns null if no view has been set.abstract AnnotationIntrospector
Convenience method for accessing serialization view in use (if any); equivalent to:abstract Object
getAttribute
(Object key) Method for accessing attributes available in this context.abstract MapperConfig<?>
Accessor to currently active configuration (both per-request configs and per-mapper config).abstract JsonFormat.Value
getDefaultPropertyFormat
(Class<?> baseType) abstract Locale
abstract TimeZone
abstract TypeFactory
protected abstract JsonMappingException
invalidTypeIdException
(JavaType baseType, String typeId, String extraDesc) Helper method for constructing exception to indicate that given type id could not be resolved to a valid subtype of specified base type.abstract boolean
isEnabled
(MapperFeature feature) Convenience method for checking whether specified serialization feature is enabled or not.objectIdGeneratorInstance
(Annotated annotated, ObjectIdInfo objectIdInfo) objectIdResolverInstance
(Annotated annotated, ObjectIdInfo objectIdInfo) abstract <T> T
reportBadDefinition
(JavaType type, 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
(Class<?> type, String msg) resolveAndValidateSubType
(JavaType baseType, String subClass, PolymorphicTypeValidator ptv) Lookup method similar toresolveSubType(edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.JavaType, java.lang.String)
but one that also validates that resulting subtype is valid according to givenPolymorphicTypeValidator
.resolveSubType
(JavaType baseType, String subClassName) Lookup method called when code needs to resolve class name from input; usually simple lookup.abstract DatabindContext
setAttribute
(Object key, Object value) Method for setting per-call value of given attribute.
-
Constructor Details
-
DatabindContext
public DatabindContext()
-
-
Method Details
-
getConfig
Accessor to currently active configuration (both per-request configs and per-mapper config). -
getAnnotationIntrospector
Convenience method for accessing serialization view in use (if any); equivalent to:getConfig().getAnnotationIntrospector();
-
isEnabled
Convenience method for checking whether specified serialization feature is enabled or not. Shortcut for:getConfig().isEnabled(feature);
-
canOverrideAccessModifiers
public abstract boolean canOverrideAccessModifiers()Convenience method for accessing serialization view in use (if any); equivalent to:getConfig().canOverrideAccessModifiers();
-
getActiveView
Accessor for locating currently active view, if any; returns null if no view has been set. -
getLocale
- Since:
- 2.6
-
getTimeZone
- Since:
- 2.6
-
getDefaultPropertyFormat
- Since:
- 2.7
-
getAttribute
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
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
-
constructSpecializedType
Convenience method for constructing subtypes, retaining generic type parameter (if any).Note: since 2.11 handling has varied a bit across serialization, deserialization.
-
resolveSubType
Lookup method called when code needs to resolve class name from input; usually simple lookup. Note that unlikeresolveAndValidateSubType(edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.JavaType, java.lang.String, edu.internet2.middleware.grouperClientExt.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, String subClass, PolymorphicTypeValidator ptv) throws JsonMappingException Lookup method similar toresolveSubType(edu.internet2.middleware.grouperClientExt.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
-
_throwNotASubtype
- Throws:
JsonMappingException
-
_throwSubtypeNameNotAllowed
protected <T> T _throwSubtypeNameNotAllowed(JavaType baseType, String subType, PolymorphicTypeValidator ptv) throws JsonMappingException - Throws:
JsonMappingException
-
_throwSubtypeClassNotAllowed
protected <T> T _throwSubtypeClassNotAllowed(JavaType baseType, String subType, PolymorphicTypeValidator ptv) throws JsonMappingException - Throws:
JsonMappingException
-
invalidTypeIdException
protected abstract JsonMappingException invalidTypeIdException(JavaType baseType, String typeId, String extraDesc) Helper method for constructing exception to indicate that given type id could not be resolved to a valid subtype of specified base type. Most commonly called during polymorphic deserialization.Note that most of the time this method should NOT be called directly: instead, method
handleUnknownTypeId()
should be called which will call this method if necessary.- Since:
- 2.9
-
getTypeFactory
-
objectIdGeneratorInstance
public ObjectIdGenerator<?> objectIdGeneratorInstance(Annotated annotated, ObjectIdInfo objectIdInfo) throws JsonMappingException - Throws:
JsonMappingException
-
objectIdResolverInstance
-
converterInstance
public Converter<Object,Object> converterInstance(Annotated annotated, 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
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
- Throws:
JsonMappingException
- Since:
- 2.9
-
_format
- Since:
- 2.9
-
_truncate
- Since:
- 2.9
-
_quotedString
- Since:
- 2.9
-
_colonConcat
- Since:
- 2.9
-
_desc
- Since:
- 2.9
-