public class AsArrayTypeDeserializer extends TypeDeserializerBase implements Serializable
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._baseType, _defaultImpl, _defaultImplDeserializer, _deserializers, _idResolver, _property, _typeIdVisible, _typePropertyName
Constructor and Description |
---|
AsArrayTypeDeserializer(AsArrayTypeDeserializer src,
BeanProperty property) |
AsArrayTypeDeserializer(JavaType bt,
TypeIdResolver idRes,
String typePropertyName,
boolean typeIdVisible,
JavaType defaultImpl) |
Modifier and Type | Method and Description |
---|---|
protected 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 String |
_locateTypeId(JsonParser p,
DeserializationContext ctxt) |
protected boolean |
_usesExternalId() |
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 Object
|
Object |
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.
|
_deserializeWithNativeTypeId, _deserializeWithNativeTypeId, _findDefaultImplDeserializer, _findDeserializer, _handleMissingTypeId, _handleUnknownTypeId, baseType, baseTypeName, getDefaultImpl, getPropertyName, getTypeIdResolver, toString
deserializeIfNatural, deserializeIfNatural
public AsArrayTypeDeserializer(JavaType bt, TypeIdResolver idRes, String typePropertyName, boolean typeIdVisible, JavaType defaultImpl)
public AsArrayTypeDeserializer(AsArrayTypeDeserializer src, BeanProperty property)
public TypeDeserializer forProperty(BeanProperty prop)
TypeDeserializer
Collection
or Map
valued properties).forProperty
in class TypeDeserializerBase
public JsonTypeInfo.As getTypeInclusion()
TypeDeserializer
getTypeInclusion
in class TypeDeserializerBase
public Object deserializeTypedFromArray(JsonParser jp, DeserializationContext ctxt) throws IOException
deserializeTypedFromArray
in class TypeDeserializer
IOException
public Object deserializeTypedFromObject(JsonParser jp, DeserializationContext ctxt) throws IOException
deserializeTypedFromObject
in class TypeDeserializer
IOException
public Object deserializeTypedFromScalar(JsonParser jp, DeserializationContext ctxt) throws IOException
TypeDeserializer
JsonDeserializer
to use, and
call it with JSON data to deserializer (which does not contain
type information).deserializeTypedFromScalar
in class TypeDeserializer
IOException
public Object deserializeTypedFromAny(JsonParser jp, DeserializationContext ctxt) throws IOException
TypeDeserializer
deserializeTypedFromAny
in class TypeDeserializer
IOException
protected Object _deserialize(JsonParser p, DeserializationContext ctxt) throws IOException
IOException
protected String _locateTypeId(JsonParser p, DeserializationContext ctxt) throws IOException
IOException
protected boolean _usesExternalId()
Copyright © 2019 JBoss by Red Hat. All rights reserved.