public class IonAnnotationTypeDeserializer
extends com.fasterxml.jackson.databind.jsontype.impl.TypeDeserializerBase
TypeDeserializer
that reads typing metadata from Ion type
annotations. Annotations found are processed by the configured TypeIdResolver
to provide a concrete Java
class, which is in turn used to find the appropriate JsonDeserializer
, and execute it.
If multiple annotations are found, the first annotation to resolve to a non-null JavaType
using the
configured TypeIdResolver
is used. Ion provides type annotations in alphabetic order.
MultipleTypeIdResolver
,
Serialized FormConstructor and Description |
---|
IonAnnotationTypeDeserializer(com.fasterxml.jackson.databind.JavaType baseType,
com.fasterxml.jackson.databind.jsontype.TypeIdResolver idRes,
String typePropertyName,
boolean typeIdVisible,
com.fasterxml.jackson.databind.JavaType defaultImpl) |
Modifier and Type | Method and Description |
---|---|
Object |
deserializeTypedFromAny(com.fasterxml.jackson.core.JsonParser p,
com.fasterxml.jackson.databind.DeserializationContext ctxt) |
Object |
deserializeTypedFromArray(com.fasterxml.jackson.core.JsonParser p,
com.fasterxml.jackson.databind.DeserializationContext ctxt) |
Object |
deserializeTypedFromObject(com.fasterxml.jackson.core.JsonParser p,
com.fasterxml.jackson.databind.DeserializationContext ctxt) |
Object |
deserializeTypedFromScalar(com.fasterxml.jackson.core.JsonParser p,
com.fasterxml.jackson.databind.DeserializationContext ctxt) |
com.fasterxml.jackson.databind.jsontype.TypeDeserializer |
forProperty(com.fasterxml.jackson.databind.BeanProperty prop) |
com.fasterxml.jackson.annotation.JsonTypeInfo.As |
getTypeInclusion()
Used for informational purposes and some serialization-implementation-specific logics (which do not concern us).
|
_deserializeWithNativeTypeId, _deserializeWithNativeTypeId, _findDefaultImplDeserializer, _findDeserializer, _handleMissingTypeId, _handleUnknownTypeId, baseType, baseTypeName, getDefaultImpl, getPropertyName, getTypeIdResolver, hasDefaultImpl, toString
public IonAnnotationTypeDeserializer(com.fasterxml.jackson.databind.JavaType baseType, com.fasterxml.jackson.databind.jsontype.TypeIdResolver idRes, String typePropertyName, boolean typeIdVisible, com.fasterxml.jackson.databind.JavaType defaultImpl)
public com.fasterxml.jackson.annotation.JsonTypeInfo.As getTypeInclusion()
getTypeInclusion
in class com.fasterxml.jackson.databind.jsontype.impl.TypeDeserializerBase
public Object deserializeTypedFromObject(com.fasterxml.jackson.core.JsonParser p, com.fasterxml.jackson.databind.DeserializationContext ctxt) throws IOException, com.fasterxml.jackson.core.JsonProcessingException
deserializeTypedFromObject
in class com.fasterxml.jackson.databind.jsontype.TypeDeserializer
IOException
com.fasterxml.jackson.core.JsonProcessingException
public Object deserializeTypedFromArray(com.fasterxml.jackson.core.JsonParser p, com.fasterxml.jackson.databind.DeserializationContext ctxt) throws IOException, com.fasterxml.jackson.core.JsonProcessingException
deserializeTypedFromArray
in class com.fasterxml.jackson.databind.jsontype.TypeDeserializer
IOException
com.fasterxml.jackson.core.JsonProcessingException
public Object deserializeTypedFromScalar(com.fasterxml.jackson.core.JsonParser p, com.fasterxml.jackson.databind.DeserializationContext ctxt) throws IOException, com.fasterxml.jackson.core.JsonProcessingException
deserializeTypedFromScalar
in class com.fasterxml.jackson.databind.jsontype.TypeDeserializer
IOException
com.fasterxml.jackson.core.JsonProcessingException
public Object deserializeTypedFromAny(com.fasterxml.jackson.core.JsonParser p, com.fasterxml.jackson.databind.DeserializationContext ctxt) throws IOException, com.fasterxml.jackson.core.JsonProcessingException
deserializeTypedFromAny
in class com.fasterxml.jackson.databind.jsontype.TypeDeserializer
IOException
com.fasterxml.jackson.core.JsonProcessingException
public com.fasterxml.jackson.databind.jsontype.TypeDeserializer forProperty(com.fasterxml.jackson.databind.BeanProperty prop)
forProperty
in class com.fasterxml.jackson.databind.jsontype.impl.TypeDeserializerBase
Copyright © 2020 FasterXML. All rights reserved.