Class AsArrayTypeDeserializer
- java.lang.Object
-
- com.fasterxml.jackson.databind.jsontype.TypeDeserializer
-
- com.fasterxml.jackson.databind.jsontype.impl.TypeDeserializerBase
-
- com.fasterxml.jackson.databind.jsontype.impl.AsArrayTypeDeserializer
-
- All Implemented Interfaces:
Serializable
- Direct Known Subclasses:
AsExternalTypeDeserializer
,AsPropertyTypeDeserializer
public class AsArrayTypeDeserializer extends TypeDeserializerBase implements Serializable
Type deserializer used withJsonTypeInfo.As.WRAPPER_ARRAY
inclusion mechanism. Simple since JSON structure used is always the same, regardless of structure used for actual value: wrapping is done using a 2-element JSON Array where type id is the first element, and actual object data as second element.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description AsArrayTypeDeserializer(JavaType bt, TypeIdResolver idRes, String typePropertyName, boolean typeIdVisible, JavaType defaultImpl)
AsArrayTypeDeserializer(AsArrayTypeDeserializer src, BeanProperty property)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Object
deserializeTypedFromAny(JsonParser jp, 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).Object
deserializeTypedFromArray(JsonParser jp, DeserializationContext ctxt)
Method called when actual object is serialized as JSON Array.Object
deserializeTypedFromObject(JsonParser jp, DeserializationContext ctxt)
Method called when actual object is serialized as JSON ObjectObject
deserializeTypedFromScalar(JsonParser jp, DeserializationContext ctxt)
Method called to let this type deserializer handle deserialization of "typed" object, when value itself is serialized as a scalar JSON value (something other than Array or Object), regardless of Java type.TypeDeserializer
forProperty(BeanProperty prop)
Method called to create contextual version, to be used for values of given property.JsonTypeInfo.As
getTypeInclusion()
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.TypeDeserializerBase
baseType, baseTypeName, getDefaultImpl, getPropertyName, getTypeIdResolver, hasDefaultImpl, toString
-
Methods inherited from class com.fasterxml.jackson.databind.jsontype.TypeDeserializer
deserializeIfNatural, deserializeIfNatural
-
-
-
-
Constructor Detail
-
AsArrayTypeDeserializer
public AsArrayTypeDeserializer(JavaType bt, TypeIdResolver idRes, String typePropertyName, boolean typeIdVisible, JavaType defaultImpl)
- Since:
- 2.8
-
AsArrayTypeDeserializer
public AsArrayTypeDeserializer(AsArrayTypeDeserializer src, BeanProperty property)
-
-
Method Detail
-
forProperty
public TypeDeserializer forProperty(BeanProperty prop)
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).- Specified by:
forProperty
in classTypeDeserializerBase
-
getTypeInclusion
public 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.- Specified by:
getTypeInclusion
in classTypeDeserializerBase
-
deserializeTypedFromArray
public Object deserializeTypedFromArray(JsonParser jp, DeserializationContext ctxt) throws IOException
Method called when actual object is serialized as JSON Array.- Specified by:
deserializeTypedFromArray
in classTypeDeserializer
- Throws:
IOException
-
deserializeTypedFromObject
public Object deserializeTypedFromObject(JsonParser jp, DeserializationContext ctxt) throws IOException
Method called when actual object is serialized as JSON Object- Specified by:
deserializeTypedFromObject
in classTypeDeserializer
- Throws:
IOException
-
deserializeTypedFromScalar
public Object deserializeTypedFromScalar(JsonParser jp, DeserializationContext ctxt) throws IOException
Description copied from class:TypeDeserializer
Method called to let this type deserializer handle deserialization of "typed" object, when value itself is serialized as a scalar JSON value (something other than Array or Object), regardless of Java type. Method needs to figure out intended polymorphic type, locateJsonDeserializer
to use, and call it with JSON data to deserializer (which does not contain type information).- Specified by:
deserializeTypedFromScalar
in classTypeDeserializer
- Throws:
IOException
-
deserializeTypedFromAny
public Object deserializeTypedFromAny(JsonParser jp, 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).- Specified by:
deserializeTypedFromAny
in classTypeDeserializer
- Throws:
IOException
-
-