Class DefaultDeserializationContext
java.lang.Object
edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.DatabindContext
edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.DeserializationContext
edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.deser.DefaultDeserializationContext
- All Implemented Interfaces:
Serializable
- Direct Known Subclasses:
DefaultDeserializationContext.Impl
public abstract class DefaultDeserializationContext
extends DeserializationContext
implements Serializable
Complete
DeserializationContext
implementation that adds
extended API for ObjectMapper
(and ObjectReader
)
to call, as well as implements certain parts that base class
has left abstract.
The remaining abstract methods (createInstance(edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.DeserializationConfig, edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.core.JsonParser, edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.InjectableValues)
, with(edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.deser.DeserializerFactory)
)
are left so that custom implementations will properly implement them
to return intended subtype.- See Also:
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic final class
Actual full concrete implementation -
Field Summary
Modifier and TypeFieldDescriptionprotected LinkedHashMap<ObjectIdGenerator.IdKey,
ReadableObjectId> Fields inherited from class edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.DeserializationContext
_arrayBuilders, _attributes, _cache, _config, _currentType, _dateFormat, _factory, _featureFlags, _injectableValues, _objectBuffer, _parser, _readCapabilities, _view
-
Constructor Summary
ModifierConstructorDescriptionprotected
protected
protected
protected
DefaultDeserializationContext
(DefaultDeserializationContext src, DeserializationConfig config, JsonParser p, InjectableValues values) protected
Constructor that will pass specified deserializer factory and cache: cache may be null (in which case default implementation will be used), factory cannot be null -
Method Summary
Modifier and TypeMethodDescriptionprotected Object
_unwrapAndDeserialize
(JsonParser p, JavaType rootType, JsonDeserializer<Object> deser, Object valueToUpdate) void
Method called to ensure that every object id encounter during processing are resolved.copy()
Method needed to ensure thatObjectMapper.copy()
will work properly; specifically, that caches are cleared, but settings will otherwise remain identical; and that no sharing of state occurs.abstract DefaultDeserializationContext
abstract DefaultDeserializationContext
createInstance
(DeserializationConfig config, JsonParser p, InjectableValues values) Method called to create actual usable per-deserialization context instance.protected ReadableObjectId
Overridable factory method to create a new instance of ReadableObjectId or its subclass.deserializerInstance
(Annotated ann, Object deserDef) findObjectId
(Object id, ObjectIdGenerator<?> gen, ObjectIdResolver resolverType) Method called to find and return entry corresponding to given Object Id: will add an entry if necessary, and never returns nullfinal KeyDeserializer
keyDeserializerInstance
(Annotated ann, Object deserDef) readRootValue
(JsonParser p, JavaType valueType, JsonDeserializer<Object> deser, Object valueToUpdate) protected boolean
Overridable helper method called to try to resolve otherwise unresolvableReadableObjectId
; and if this succeeds, returntrue
to indicate problem has been resolved in some way, so that caller can avoid reporting it as an error.abstract DefaultDeserializationContext
with
(DeserializerFactory factory) Fluent factory method used for constructing a blueprint instance with different factoryMethods inherited from class edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.DeserializationContext
_getDateFormat, _isCompatible, _shapeForToken, bufferAsCopyOfValue, bufferForInputBuffering, bufferForInputBuffering, canOverrideAccessModifiers, constructCalendar, constructSpecializedType, constructType, endOfInputException, extractScalarFromObject, findClass, findCoercionAction, findCoercionFromBlankString, findContextualValueDeserializer, findInjectableValue, findKeyDeserializer, findNonContextualValueDeserializer, findRootValueDeserializer, getActiveView, getAnnotationIntrospector, getArrayBuilders, getAttribute, getBase64Variant, getConfig, getContextualType, getDateFormat, getDefaultPropertyFormat, getDeserializationFeatures, getFactory, getLocale, getNodeFactory, getParser, getTimeZone, getTypeFactory, handleBadMerge, handleInstantiationProblem, handleMissingInstantiator, handleMissingTypeId, handlePrimaryContextualization, handleSecondaryContextualization, handleUnexpectedToken, handleUnexpectedToken, handleUnexpectedToken, handleUnexpectedToken, handleUnknownProperty, handleUnknownTypeId, handleWeirdKey, handleWeirdNativeValue, handleWeirdNumberValue, handleWeirdStringValue, hasDeserializationFeatures, hasSomeOfFeatures, hasValueDeserializerFor, instantiationException, instantiationException, invalidTypeIdException, isEnabled, isEnabled, isEnabled, isEnabled, leaseObjectBuffer, mappingException, mappingException, mappingException, mappingException, missingTypeIdException, parseDate, readPropertyValue, readPropertyValue, readTree, readTreeAsValue, readTreeAsValue, readValue, readValue, reportBadCoercion, reportBadDefinition, reportBadMerge, reportBadPropertyDefinition, reportBadTypeDefinition, reportInputMismatch, reportInputMismatch, reportInputMismatch, reportInputMismatch, reportMappingException, reportMissingContent, reportPropertyInputMismatch, reportPropertyInputMismatch, reportTrailingTokens, reportUnknownProperty, reportUnresolvedObjectId, reportWrongTokenException, reportWrongTokenException, reportWrongTokenException, reportWrongTokenException, returnObjectBuffer, setAttribute, unknownTypeException, weirdKeyException, weirdNativeValueException, weirdNumberException, weirdStringException, wrongTokenException, wrongTokenException, wrongTokenException
Methods inherited from class edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.DatabindContext
_colonConcat, _desc, _format, _quotedString, _throwNotASubtype, _throwSubtypeClassNotAllowed, _throwSubtypeNameNotAllowed, _truncate, constructType, converterInstance, objectIdGeneratorInstance, objectIdResolverInstance, reportBadDefinition, resolveAndValidateSubType, resolveSubType
-
Field Details
-
_objectIds
-
-
Constructor Details
-
DefaultDeserializationContext
Constructor that will pass specified deserializer factory and cache: cache may be null (in which case default implementation will be used), factory cannot be null -
DefaultDeserializationContext
protected DefaultDeserializationContext(DefaultDeserializationContext src, DeserializationConfig config, JsonParser p, InjectableValues values) -
DefaultDeserializationContext
protected DefaultDeserializationContext(DefaultDeserializationContext src, DeserializationConfig config) -
DefaultDeserializationContext
protected DefaultDeserializationContext(DefaultDeserializationContext src, DeserializerFactory factory) -
DefaultDeserializationContext
- Since:
- 2.4.4
-
-
Method Details
-
copy
Method needed to ensure thatObjectMapper.copy()
will work properly; specifically, that caches are cleared, but settings will otherwise remain identical; and that no sharing of state occurs.- Since:
- 2.4.4
-
findObjectId
public ReadableObjectId findObjectId(Object id, ObjectIdGenerator<?> gen, ObjectIdResolver resolverType) Description copied from class:DeserializationContext
Method called to find and return entry corresponding to given Object Id: will add an entry if necessary, and never returns null- Specified by:
findObjectId
in classDeserializationContext
-
createReadableObjectId
Overridable factory method to create a new instance of ReadableObjectId or its subclass. It is meant to be overridden when custom ReadableObjectId is needed fortryToResolveUnresolvedObjectId(edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.deser.impl.ReadableObjectId)
. Default implementation simply constructs defaultReadableObjectId
with givenkey
.- Parameters:
key
- The key to associate with the new ReadableObjectId- Returns:
- New ReadableObjectId instance
- Since:
- 2.7
-
checkUnresolvedObjectId
Description copied from class:DeserializationContext
Method called to ensure that every object id encounter during processing are resolved.- Specified by:
checkUnresolvedObjectId
in classDeserializationContext
- Throws:
UnresolvedForwardReference
-
tryToResolveUnresolvedObjectId
Overridable helper method called to try to resolve otherwise unresolvableReadableObjectId
; and if this succeeds, returntrue
to indicate problem has been resolved in some way, so that caller can avoid reporting it as an error.Default implementation simply calls
ReadableObjectId.tryToResolveUnresolved(edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.DeserializationContext)
and returns whatever it returns.- Since:
- 2.6
-
deserializerInstance
public JsonDeserializer<Object> deserializerInstance(Annotated ann, Object deserDef) throws JsonMappingException - Specified by:
deserializerInstance
in classDeserializationContext
- Throws:
JsonMappingException
-
keyDeserializerInstance
public final KeyDeserializer keyDeserializerInstance(Annotated ann, Object deserDef) throws JsonMappingException - Specified by:
keyDeserializerInstance
in classDeserializationContext
- Throws:
JsonMappingException
-
with
Fluent factory method used for constructing a blueprint instance with different factory -
createInstance
public abstract DefaultDeserializationContext createInstance(DeserializationConfig config, JsonParser p, InjectableValues values) Method called to create actual usable per-deserialization context instance. -
createDummyInstance
-
readRootValue
public Object readRootValue(JsonParser p, JavaType valueType, JsonDeserializer<Object> deser, Object valueToUpdate) throws IOException - Throws:
IOException
-
_unwrapAndDeserialize
protected Object _unwrapAndDeserialize(JsonParser p, JavaType rootType, JsonDeserializer<Object> deser, Object valueToUpdate) throws IOException - Throws:
IOException
-