Class AsDeductionTypeDeserializer
java.lang.Object
edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.jsontype.TypeDeserializer
edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.jsontype.impl.TypeDeserializerBase
edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.jsontype.impl.AsArrayTypeDeserializer
edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer
edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.jsontype.impl.AsDeductionTypeDeserializer
- All Implemented Interfaces:
Serializable
A
TypeDeserializer
capable of deducing polymorphic types based on the
fields available. Deduction is limited to the names of child properties
(not their values or, consequently, any nested descendants).
Exceptions will be thrown if not enough unique information is present
to select a single subtype.
The current deduction process does not support pojo-hierarchies such that the absence of child fields infers a parent type. That is, every deducible subtype MUST have some unique fields and the input data MUST contain said unique fields to provide a positive match.
- Since:
- 2.12
- See Also:
-
Field Summary
Fields inherited from class edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer
_inclusion, _msgForMissingId
Fields inherited from class edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.jsontype.impl.TypeDeserializerBase
_baseType, _defaultImpl, _defaultImplDeserializer, _deserializers, _idResolver, _property, _typeIdVisible, _typePropertyName
-
Constructor Summary
ConstructorDescriptionAsDeductionTypeDeserializer
(JavaType bt, TypeIdResolver idRes, JavaType defaultImpl, DeserializationConfig config, Collection<NamedType> subtypes) AsDeductionTypeDeserializer
(AsDeductionTypeDeserializer src, BeanProperty property) -
Method Summary
Modifier and TypeMethodDescriptionbuildFingerprints
(DeserializationConfig config, Collection<NamedType> subtypes) This is the trickiest thing to handle, since property we are looking for may be anywhere...forProperty
(BeanProperty prop) Method called to create contextual version, to be used for values of given property.Methods inherited from class edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer
_deserializeTypedForId, _deserializeTypedUsingDefaultImpl, _deserializeTypedUsingDefaultImpl, deserializeTypedFromAny, getTypeInclusion
Methods inherited from class edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.jsontype.impl.AsArrayTypeDeserializer
_deserialize, _locateTypeId, _usesExternalId, deserializeTypedFromArray, deserializeTypedFromScalar
Methods inherited from class edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.jsontype.impl.TypeDeserializerBase
_deserializeWithNativeTypeId, _deserializeWithNativeTypeId, _findDefaultImplDeserializer, _findDeserializer, _handleMissingTypeId, _handleUnknownTypeId, baseType, baseTypeName, getDefaultImpl, getPropertyName, getTypeIdResolver, hasDefaultImpl, toString
Methods inherited from class edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.jsontype.TypeDeserializer
deserializeIfNatural, deserializeIfNatural
-
Constructor Details
-
AsDeductionTypeDeserializer
public AsDeductionTypeDeserializer(JavaType bt, TypeIdResolver idRes, JavaType defaultImpl, DeserializationConfig config, Collection<NamedType> subtypes) -
AsDeductionTypeDeserializer
-
-
Method Details
-
forProperty
Description copied from class:TypeDeserializer
Method called to create contextual version, to be used for values of given property. This may be the type itself (as is the case for bean properties), or values contained (forCollection
orMap
valued properties).- Overrides:
forProperty
in classAsPropertyTypeDeserializer
-
buildFingerprints
protected Map<BitSet,String> buildFingerprints(DeserializationConfig config, Collection<NamedType> subtypes) -
deserializeTypedFromObject
public Object deserializeTypedFromObject(JsonParser p, DeserializationContext ctxt) throws IOException Description copied from class:AsPropertyTypeDeserializer
This is the trickiest thing to handle, since property we are looking for may be anywhere...- Overrides:
deserializeTypedFromObject
in classAsPropertyTypeDeserializer
- Throws:
IOException
-