Class AsWrapperTypeDeserializer
java.lang.Object
org.codehaus.jackson.map.TypeDeserializer
org.codehaus.jackson.map.jsontype.impl.TypeDeserializerBase
org.codehaus.jackson.map.jsontype.impl.AsWrapperTypeDeserializer
Type deserializer used with
JsonTypeInfo.As.WRAPPER_OBJECT
inclusion mechanism. Simple since JSON structure used is always
the same, regardless of structure used for actual value: wrapping
is done using a single-element JSON Object where type id is the key,
and actual object data as the value.- Author:
- tatus
-
Field Summary
Fields inherited from class org.codehaus.jackson.map.jsontype.impl.TypeDeserializerBase
_baseType, _defaultImpl, _defaultImplDeserializer, _deserializers, _idResolver, _property -
Constructor Summary
ConstructorsConstructorDescriptionAsWrapperTypeDeserializer(JavaType bt, TypeIdResolver idRes, BeanProperty property) Deprecated.AsWrapperTypeDeserializer(JavaType bt, TypeIdResolver idRes, BeanProperty property, Class<?> defaultImpl) -
Method Summary
Modifier and TypeMethodDescriptionMethod 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 to let this type deserializer handle deserialization of "typed" object, when value itself is serialized as JSON Array (regardless of Java type).Deserializing type id enclosed using WRAPPER_OBJECT style is straightforwardMethod 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.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 Details
-
AsWrapperTypeDeserializer
@Deprecated public AsWrapperTypeDeserializer(JavaType bt, TypeIdResolver idRes, BeanProperty property) Deprecated. -
AsWrapperTypeDeserializer
public AsWrapperTypeDeserializer(JavaType bt, TypeIdResolver idRes, BeanProperty property, Class<?> defaultImpl)
-
-
Method Details
-
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
-
deserializeTypedFromObject
public Object deserializeTypedFromObject(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException Deserializing type id enclosed using WRAPPER_OBJECT style is straightforward- Specified by:
deserializeTypedFromObjectin classTypeDeserializer- Throws:
IOExceptionJsonProcessingException
-
deserializeTypedFromArray
public Object deserializeTypedFromArray(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException Description copied from class:TypeDeserializerMethod called to let this type deserializer handle deserialization of "typed" object, when value itself is serialized as JSON Array (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:
deserializeTypedFromArrayin classTypeDeserializer- Throws:
IOExceptionJsonProcessingException
-
deserializeTypedFromScalar
public Object deserializeTypedFromScalar(JsonParser jp, DeserializationContext ctxt) throws 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:
IOExceptionJsonProcessingException
-
deserializeTypedFromAny
public Object deserializeTypedFromAny(JsonParser jp, DeserializationContext ctxt) throws 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:
IOExceptionJsonProcessingException
-