Interface ResolvableDeserializer
- All Known Implementing Classes:
BeanAsArrayBuilderDeserializer
,BeanAsArrayDeserializer
,BeanDeserializer
,BeanDeserializerBase
,BuilderBasedDeserializer
,DelegatingDeserializer
,EnumMapDeserializer
,MapDeserializer
,StdDelegatingDeserializer
,StdNodeBasedDeserializer
,ThrowableDeserializer
,UntypedObjectDeserializer
Note that resolve(edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.DeserializationContext)
method does NOT allow returning anything
(specifically, a new deserializer instance): reason for this is that
allowing this would not work with proper handling of cyclic dependencies,
which are resolved by two-phase processing, where initially constructed
deserializer is added as known deserializer, and only after this
resolution is done. Resolution is the part that results in lookups for
dependant deserializers, which may include handling references to
deserializer itself.
Note that in cases where deserializer needs both contextualization and
resolution -- that is, implements both this interface and ContextualDeserializer
-- resolution via this interface occurs first, and contextual
resolution (using ContextualDeserializer
) later on.
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Method called after deserializer instance has been constructed (and registered as necessary by provider objects), but before it has returned it to the caller.
-
Method Details
-
resolve
Method called after deserializer instance has been constructed (and registered as necessary by provider objects), but before it has returned it to the caller. Called object can then resolve its dependencies to other types, including self-references (direct or indirect).- Parameters:
ctxt
- Context to use for accessing configuration, resolving secondary deserializers- Throws:
JsonMappingException
-