Class AbstractTypeResolver
java.lang.Object
edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.AbstractTypeResolver
- Direct Known Subclasses:
SimpleAbstractTypeResolver
Defines interface for resolvers that can resolve abstract types into concrete
ones; either by using static mappings, or possibly by materializing
implementations dynamically.
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionfindTypeMapping
(DeserializationConfig config, JavaType type) Try to locate a subtype for given abstract type, to either resolve to a concrete type, or at least to a more-specific (and hopefully supported) abstract type, one which may have registered deserializers.resolveAbstractType
(DeserializationConfig config, BeanDescription typeDesc) Method called to try to resolve an abstract type into concrete type (usually for purposes of deserializing), when no concrete implementation was found.resolveAbstractType
(DeserializationConfig config, JavaType type) Deprecated.since 2.8 (may be removed from 2.9 or later)
-
Constructor Details
-
AbstractTypeResolver
public AbstractTypeResolver()
-
-
Method Details
-
findTypeMapping
Try to locate a subtype for given abstract type, to either resolve to a concrete type, or at least to a more-specific (and hopefully supported) abstract type, one which may have registered deserializers. Method is called before trying to locate registered deserializers (as well as standard abstract type defaulting that core Jackson does), so it is typically implemented to add custom mappings of common abstract types (like specify which concrete implementation to use for bindingList
s).Note that this method does not necessarily have to do full resolution of bindings; that is, it is legal to return type that could be further resolved: caller is expected to keep calling this method on registered resolvers, until a concrete type is located.
- Parameters:
config
- Configuration in usetype
- Type to find mapping for- Returns:
- Type to map given input type (if mapping found) or
null
(if not).
-
resolveAbstractType
Deprecated.since 2.8 (may be removed from 2.9 or later)Older variant ofresolveAbstractType(DeserializationConfig, BeanDescription)
; obsoleted in 2.7- Parameters:
config
- Configuration in usetype
- Type to resolve- Returns:
- Resolved concrete type
-
resolveAbstractType
Method called to try to resolve an abstract type into concrete type (usually for purposes of deserializing), when no concrete implementation was found. It will be called after checking all other possibilities, including defaulting.- Parameters:
config
- Configuration in usetypeDesc
- Description of the POJO type to resolve- Returns:
- Resolved concrete type (which should retain generic type parameters of input type, if any), if resolution succeeds; null if resolver does not know how to resolve given type
- Since:
- 2.7
-