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:
java.io.Serializable
- Direct Known Subclasses:
AsDeductionTypeDeserializer
public class AsPropertyTypeDeserializer extends AsArrayTypeDeserializer
Type deserializer used withJsonTypeInfo.As.PROPERTYinclusion mechanism. Uses regular form (additional key/value entry before actual data) when typed object is expressed as JSON Object; otherwise behaves similar to howJsonTypeInfo.As.WRAPPER_ARRAYworks. Latter is used if JSON representation is polymorphic- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected com.fasterxml.jackson.annotation.JsonTypeInfo.As_inclusionprotected java.lang.String_msgForMissingIdprotected boolean_strictTypeIdHandlingIndicates 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
Constructors Constructor Description AsPropertyTypeDeserializer(JavaType bt, TypeIdResolver idRes, java.lang.String typePropertyName, boolean typeIdVisible, JavaType defaultImpl)Deprecated.Since 2.15 (not used)AsPropertyTypeDeserializer(JavaType bt, TypeIdResolver idRes, java.lang.String typePropertyName, boolean typeIdVisible, JavaType defaultImpl, com.fasterxml.jackson.annotation.JsonTypeInfo.As inclusion)Deprecated.Since 2.15 (not used)AsPropertyTypeDeserializer(JavaType bt, TypeIdResolver idRes, java.lang.String typePropertyName, boolean typeIdVisible, JavaType defaultImpl, com.fasterxml.jackson.annotation.JsonTypeInfo.As inclusion, boolean strictTypeIdHandling)AsPropertyTypeDeserializer(AsPropertyTypeDeserializer src, BeanProperty property)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected java.lang.Object_deserializeTypedForId(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, TokenBuffer tb, java.lang.String typeId)protected java.lang.Object_deserializeTypedUsingDefaultImpl(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, TokenBuffer tb)Deprecated.protected java.lang.Object_deserializeTypedUsingDefaultImpl(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, TokenBuffer tb, java.lang.String priorFailureMsg)java.lang.ObjectdeserializeTypedFromAny(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).java.lang.ObjectdeserializeTypedFromObject(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt)This is the trickiest thing to handle, since property we are looking for may be anywhere...TypeDeserializerforProperty(BeanProperty prop)Method called to create contextual version, to be used for values of given property.com.fasterxml.jackson.annotation.JsonTypeInfo.AsgetTypeInclusion()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 Detail
-
_inclusion
protected final com.fasterxml.jackson.annotation.JsonTypeInfo.As _inclusion
-
_strictTypeIdHandling
protected final boolean _strictTypeIdHandling
Indicates that we should be strict about handling missing type information.- Since:
- 2.15
-
_msgForMissingId
protected final java.lang.String _msgForMissingId
-
-
Constructor Detail
-
AsPropertyTypeDeserializer
@Deprecated public AsPropertyTypeDeserializer(JavaType bt, TypeIdResolver idRes, java.lang.String typePropertyName, boolean typeIdVisible, JavaType defaultImpl)
Deprecated.Since 2.15 (not used)- Since:
- 2.8
-
AsPropertyTypeDeserializer
@Deprecated public AsPropertyTypeDeserializer(JavaType bt, TypeIdResolver idRes, java.lang.String typePropertyName, boolean typeIdVisible, JavaType defaultImpl, com.fasterxml.jackson.annotation.JsonTypeInfo.As inclusion)
Deprecated.Since 2.15 (not used)- Since:
- 2.8
-
AsPropertyTypeDeserializer
public AsPropertyTypeDeserializer(AsPropertyTypeDeserializer src, BeanProperty property)
-
AsPropertyTypeDeserializer
public AsPropertyTypeDeserializer(JavaType bt, TypeIdResolver idRes, java.lang.String typePropertyName, boolean typeIdVisible, JavaType defaultImpl, com.fasterxml.jackson.annotation.JsonTypeInfo.As inclusion, boolean strictTypeIdHandling)
- Since:
- 2.15
-
-
Method Detail
-
forProperty
public TypeDeserializer forProperty(BeanProperty prop)
Description copied from class:TypeDeserializerMethod 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 (forCollectionorMapvalued properties).- Overrides:
forPropertyin classAsArrayTypeDeserializer
-
getTypeInclusion
public com.fasterxml.jackson.annotation.JsonTypeInfo.As getTypeInclusion()
Description copied from class:TypeDeserializerAccessor for type information inclusion method that deserializer uses; indicates how type information is (expected to be) embedded in JSON input.- Overrides:
getTypeInclusionin classAsArrayTypeDeserializer
-
deserializeTypedFromObject
public java.lang.Object deserializeTypedFromObject(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt) throws java.io.IOExceptionThis is the trickiest thing to handle, since property we are looking for may be anywhere...- Overrides:
deserializeTypedFromObjectin classAsArrayTypeDeserializer- Throws:
java.io.IOException
-
_deserializeTypedForId
protected java.lang.Object _deserializeTypedForId(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, TokenBuffer tb, java.lang.String typeId) throws java.io.IOException- Throws:
java.io.IOException
-
_deserializeTypedUsingDefaultImpl
@Deprecated protected java.lang.Object _deserializeTypedUsingDefaultImpl(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, TokenBuffer tb) throws java.io.IOExceptionDeprecated.- Throws:
java.io.IOException
-
_deserializeTypedUsingDefaultImpl
protected java.lang.Object _deserializeTypedUsingDefaultImpl(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, TokenBuffer tb, java.lang.String priorFailureMsg) throws java.io.IOException- Throws:
java.io.IOException
-
deserializeTypedFromAny
public java.lang.Object deserializeTypedFromAny(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt) throws java.io.IOExceptionDescription copied from class:TypeDeserializerMethod 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:
deserializeTypedFromAnyin classAsArrayTypeDeserializer- Throws:
java.io.IOException
-
-