Class AsArrayTypeDeserializer
- java.lang.Object
-
- org.codehaus.jackson.map.TypeDeserializer
-
- org.codehaus.jackson.map.jsontype.impl.TypeDeserializerBase
-
- org.codehaus.jackson.map.jsontype.impl.AsArrayTypeDeserializer
-
- Direct Known Subclasses:
AsExternalTypeDeserializer,AsPropertyTypeDeserializer
public class AsArrayTypeDeserializer extends TypeDeserializerBase
Type deserializer used withJsonTypeInfo.As.WRAPPER_ARRAYinclusion 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.- Author:
- tatus
-
-
Field Summary
-
Fields inherited from class org.codehaus.jackson.map.jsontype.impl.TypeDeserializerBase
_baseType, _defaultImpl, _defaultImplDeserializer, _deserializers, _idResolver, _property
-
-
Constructor Summary
Constructors Constructor Description AsArrayTypeDeserializer(JavaType bt, TypeIdResolver idRes, BeanProperty property)Deprecated.AsArrayTypeDeserializer(JavaType bt, TypeIdResolver idRes, BeanProperty property, java.lang.Class<?> defaultImpl)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.lang.String_locateTypeId(JsonParser jp, DeserializationContext ctxt)java.lang.ObjectdeserializeTypedFromAny(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).java.lang.ObjectdeserializeTypedFromArray(JsonParser jp, DeserializationContext ctxt)Method called when actual object is serialized as JSON Array.java.lang.ObjectdeserializeTypedFromObject(JsonParser jp, DeserializationContext ctxt)Method called when actual object is serialized as JSON Objectjava.lang.ObjectdeserializeTypedFromScalar(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.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 org.codehaus.jackson.map.jsontype.impl.TypeDeserializerBase
_findDefaultImplDeserializer, _findDeserializer, baseTypeName, getDefaultImpl, getPropertyName, getTypeIdResolver, toString
-
-
-
-
Constructor Detail
-
AsArrayTypeDeserializer
@Deprecated public AsArrayTypeDeserializer(JavaType bt, TypeIdResolver idRes, BeanProperty property)
Deprecated.
-
AsArrayTypeDeserializer
public AsArrayTypeDeserializer(JavaType bt, TypeIdResolver idRes, BeanProperty property, java.lang.Class<?> defaultImpl)
-
-
Method Detail
-
getTypeInclusion
public 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.- Specified by:
getTypeInclusionin classTypeDeserializerBase
-
deserializeTypedFromArray
public java.lang.Object deserializeTypedFromArray(JsonParser jp, DeserializationContext ctxt) throws java.io.IOException, JsonProcessingException
Method called when actual object is serialized as JSON Array.- Specified by:
deserializeTypedFromArrayin classTypeDeserializer- Throws:
java.io.IOExceptionJsonProcessingException
-
deserializeTypedFromObject
public java.lang.Object deserializeTypedFromObject(JsonParser jp, DeserializationContext ctxt) throws java.io.IOException, JsonProcessingException
Method called when actual object is serialized as JSON Object- Specified by:
deserializeTypedFromObjectin classTypeDeserializer- Throws:
java.io.IOExceptionJsonProcessingException
-
deserializeTypedFromScalar
public java.lang.Object deserializeTypedFromScalar(JsonParser jp, DeserializationContext ctxt) throws java.io.IOException, JsonProcessingException
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, locateJsonDeserializerto use, and call it with JSON data to deserializer (which does not contain type information).- Specified by:
deserializeTypedFromScalarin classTypeDeserializer- Throws:
java.io.IOExceptionJsonProcessingException
-
deserializeTypedFromAny
public java.lang.Object deserializeTypedFromAny(JsonParser jp, DeserializationContext ctxt) throws java.io.IOException, JsonProcessingException
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:
java.io.IOExceptionJsonProcessingException
-
_locateTypeId
protected final java.lang.String _locateTypeId(JsonParser jp, DeserializationContext ctxt) throws java.io.IOException, JsonProcessingException
- Throws:
java.io.IOExceptionJsonProcessingException
-
-