Module tools.jackson.databind
Class AsArrayTypeDeserializer
java.lang.Object
tools.jackson.databind.jsontype.TypeDeserializer
tools.jackson.databind.jsontype.impl.TypeDeserializerBase
tools.jackson.databind.jsontype.impl.AsArrayTypeDeserializer
- Direct Known Subclasses:
AsExternalTypeDeserializer,AsPropertyTypeDeserializer
Type deserializer used with
JsonTypeInfo.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.-
Field Summary
Fields inherited from class tools.jackson.databind.jsontype.impl.TypeDeserializerBase
_baseType, _defaultImpl, _defaultImplDeserializer, _deserializers, _idResolver, _property, _typeIdVisible, _typePropertyName -
Constructor Summary
ConstructorsConstructorDescriptionAsArrayTypeDeserializer(JavaType bt, TypeIdResolver idRes, String typePropertyName, boolean typeIdVisible, JavaType defaultImpl) AsArrayTypeDeserializer(AsArrayTypeDeserializer src, BeanProperty property) -
Method Summary
Modifier and TypeMethodDescriptionprotected Object_deserialize(JsonParser p, DeserializationContext ctxt) Method that handles type information wrapper, locates actual subtype deserializer to use, and calls it to do actual deserialization.protected Stringprotected booleanMethod 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).Method called when actual object is serialized as JSON Array.Method called when actual object is serialized as JSON ObjectMethod 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.forProperty(BeanProperty prop) Method called to create contextual version, to be used for values of given property.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 tools.jackson.databind.jsontype.impl.TypeDeserializerBase
_deserializeWithNativeTypeId, _findDefaultImplDeserializer, _findDeserializer, _handleMissingTypeId, _handleUnknownTypeId, baseType, baseTypeName, getDefaultImpl, getPropertyName, getTypeIdResolver, hasDefaultImpl, toStringMethods inherited from class tools.jackson.databind.jsontype.TypeDeserializer
deserializeIfNatural, deserializeIfNatural
-
Constructor Details
-
AsArrayTypeDeserializer
public AsArrayTypeDeserializer(JavaType bt, TypeIdResolver idRes, String typePropertyName, boolean typeIdVisible, JavaType defaultImpl) -
AsArrayTypeDeserializer
-
-
Method Details
-
forProperty
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).- Specified by:
forPropertyin classTypeDeserializerBase
-
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.- Specified by:
getTypeInclusionin classTypeDeserializerBase
-
deserializeTypedFromArray
public Object deserializeTypedFromArray(JsonParser p, DeserializationContext ctxt) throws JacksonException Method called when actual object is serialized as JSON Array.- Specified by:
deserializeTypedFromArrayin classTypeDeserializer- Throws:
JacksonException
-
deserializeTypedFromObject
public Object deserializeTypedFromObject(JsonParser p, DeserializationContext ctxt) throws JacksonException Method called when actual object is serialized as JSON Object- Specified by:
deserializeTypedFromObjectin classTypeDeserializer- Throws:
JacksonException
-
deserializeTypedFromScalar
public Object deserializeTypedFromScalar(JsonParser p, DeserializationContext ctxt) throws JacksonException Description copied from class:TypeDeserializerMethod 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, locateValueDeserializerto use, and call it with JSON data to deserializer (which does not contain type information).- Specified by:
deserializeTypedFromScalarin classTypeDeserializer- Throws:
JacksonException
-
deserializeTypedFromAny
public Object deserializeTypedFromAny(JsonParser p, DeserializationContext ctxt) throws JacksonException Description 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).- Specified by:
deserializeTypedFromAnyin classTypeDeserializer- Throws:
JacksonException
-
_deserialize
Method that handles type information wrapper, locates actual subtype deserializer to use, and calls it to do actual deserialization.- Throws:
JacksonException
-
_locateTypeId
- Throws:
JacksonException
-
_usesExternalId
protected boolean _usesExternalId()
-