Class AsPropertyTypeDeserializer
java.lang.Object
com.fasterxml.jackson.databind.jsontype.TypeDeserializer
com.fasterxml.jackson.databind.jsontype.impl.TypeDeserializerBase
com.fasterxml.jackson.databind.jsontype.impl.AsArrayTypeDeserializer
com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer
- All Implemented Interfaces:
Serializable
- Direct Known Subclasses:
AsDeductionTypeDeserializer
Type deserializer used with
JsonTypeInfo.As.PROPERTY
inclusion mechanism.
Uses regular form (additional key/value entry before actual data)
when typed object is expressed as JSON Object; otherwise behaves similar to how
JsonTypeInfo.As.WRAPPER_ARRAY
works.
Latter is used if JSON representation is polymorphic- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final com.fasterxml.jackson.annotation.JsonTypeInfo.As
protected final String
protected final boolean
Indicates that we should be strict about handling missing type information.Fields inherited from class com.fasterxml.jackson.databind.jsontype.impl.TypeDeserializerBase
_baseType, _defaultImpl, _defaultImplDeserializer, _deserializers, _idResolver, _property, _typeIdVisible, _typePropertyName
-
Constructor Summary
ConstructorsConstructorDescriptionAsPropertyTypeDeserializer
(JavaType bt, TypeIdResolver idRes, String typePropertyName, boolean typeIdVisible, JavaType defaultImpl) Deprecated.Since 2.15 (not used)AsPropertyTypeDeserializer
(JavaType bt, TypeIdResolver idRes, String typePropertyName, boolean typeIdVisible, JavaType defaultImpl, com.fasterxml.jackson.annotation.JsonTypeInfo.As inclusion) Deprecated.Since 2.15 (not used)AsPropertyTypeDeserializer
(JavaType bt, TypeIdResolver idRes, String typePropertyName, boolean typeIdVisible, JavaType defaultImpl, com.fasterxml.jackson.annotation.JsonTypeInfo.As inclusion, boolean strictTypeIdHandling) AsPropertyTypeDeserializer
(AsPropertyTypeDeserializer src, BeanProperty property) -
Method Summary
Modifier and TypeMethodDescriptionprotected Object
_deserializeTypedForId
(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, TokenBuffer tb, String typeId) protected Object
_deserializeTypedUsingDefaultImpl
(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, TokenBuffer tb) Deprecated.protected Object
_deserializeTypedUsingDefaultImpl
(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, TokenBuffer tb, String priorFailureMsg) deserializeTypedFromAny
(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt) Method called to let this type deserializer handle deserialization of "typed" object, when value itself may have been serialized using any kind of JSON value (Array, Object, scalar).deserializeTypedFromObject
(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt) 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.com.fasterxml.jackson.annotation.JsonTypeInfo.As
Accessor for type information inclusion method that deserializer uses; indicates how type information is (expected to be) embedded in JSON input.Methods inherited from class com.fasterxml.jackson.databind.jsontype.impl.AsArrayTypeDeserializer
_deserialize, _locateTypeId, _usesExternalId, deserializeTypedFromArray, deserializeTypedFromScalar
Methods inherited from class com.fasterxml.jackson.databind.jsontype.impl.TypeDeserializerBase
_deserializeWithNativeTypeId, _deserializeWithNativeTypeId, _findDefaultImplDeserializer, _findDeserializer, _handleMissingTypeId, _handleUnknownTypeId, baseType, baseTypeName, getDefaultImpl, getPropertyName, getTypeIdResolver, hasDefaultImpl, toString
Methods inherited from class com.fasterxml.jackson.databind.jsontype.TypeDeserializer
deserializeIfNatural, deserializeIfNatural
-
Field Details
-
_inclusion
protected final com.fasterxml.jackson.annotation.JsonTypeInfo.As _inclusion -
_strictTypeIdHandling
protected final boolean _strictTypeIdHandlingIndicates that we should be strict about handling missing type information.- Since:
- 2.15
-
_msgForMissingId
-
-
Constructor Details
-
AsPropertyTypeDeserializer
@Deprecated public AsPropertyTypeDeserializer(JavaType bt, TypeIdResolver idRes, String typePropertyName, boolean typeIdVisible, JavaType defaultImpl) Deprecated.Since 2.15 (not used)- Since:
- 2.8
-
AsPropertyTypeDeserializer
@Deprecated public AsPropertyTypeDeserializer(JavaType bt, TypeIdResolver idRes, String typePropertyName, boolean typeIdVisible, JavaType defaultImpl, com.fasterxml.jackson.annotation.JsonTypeInfo.As inclusion) Deprecated.Since 2.15 (not used)- Since:
- 2.8
-
AsPropertyTypeDeserializer
-
AsPropertyTypeDeserializer
public AsPropertyTypeDeserializer(JavaType bt, TypeIdResolver idRes, String typePropertyName, boolean typeIdVisible, JavaType defaultImpl, com.fasterxml.jackson.annotation.JsonTypeInfo.As inclusion, boolean strictTypeIdHandling) - Since:
- 2.15
-
-
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 classAsArrayTypeDeserializer
-
getTypeInclusion
public com.fasterxml.jackson.annotation.JsonTypeInfo.As getTypeInclusion()Description copied from class:TypeDeserializer
Accessor for type information inclusion method that deserializer uses; indicates how type information is (expected to be) embedded in JSON input.- Overrides:
getTypeInclusion
in classAsArrayTypeDeserializer
-
deserializeTypedFromObject
public Object deserializeTypedFromObject(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt) throws IOException This is the trickiest thing to handle, since property we are looking for may be anywhere...- Overrides:
deserializeTypedFromObject
in classAsArrayTypeDeserializer
- Throws:
IOException
-
_deserializeTypedForId
protected Object _deserializeTypedForId(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, TokenBuffer tb, String typeId) throws IOException - Throws:
IOException
-
_deserializeTypedUsingDefaultImpl
@Deprecated protected Object _deserializeTypedUsingDefaultImpl(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, TokenBuffer tb) throws IOException Deprecated.- Throws:
IOException
-
_deserializeTypedUsingDefaultImpl
protected Object _deserializeTypedUsingDefaultImpl(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, TokenBuffer tb, String priorFailureMsg) throws IOException - Throws:
IOException
-
deserializeTypedFromAny
public Object deserializeTypedFromAny(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt) throws IOException Description copied from class:TypeDeserializer
Method called to let this type deserializer handle deserialization of "typed" object, when value itself may have been serialized using any kind of JSON value (Array, Object, scalar). Should only be called if JSON serialization is polymorphic (not Java type); for example when using JSON node representation, or "untyped" Java object (which may be Map, Collection, wrapper/primitive etc).- Overrides:
deserializeTypedFromAny
in classAsArrayTypeDeserializer
- Throws:
IOException
-