Class TypeDeserializerBase
java.lang.Object
edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.jsontype.TypeDeserializer
edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.jsontype.impl.TypeDeserializerBase
- All Implemented Interfaces:
Serializable
- Direct Known Subclasses:
AsArrayTypeDeserializer
,AsWrapperTypeDeserializer
Base class for all standard Jackson
TypeDeserializer
s.- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionprotected final JavaType
protected final JavaType
Type to use as the default implementation, if type id is missing or cannot be resolved.protected JsonDeserializer<Object>
protected final Map<String,
JsonDeserializer<Object>> For efficient operation we will lazily build mappings from type ids to actual deserializers, once needed.protected final TypeIdResolver
protected final BeanProperty
Property that contains value for which type information is included; null if value is a root value.protected final boolean
protected final String
Name of type property used; needed for non-property versions too, in cases where type id is to be exposed as part of JSON. -
Constructor Summary
ModifierConstructorDescriptionprotected
TypeDeserializerBase
(JavaType baseType, TypeIdResolver idRes, String typePropertyName, boolean typeIdVisible, JavaType defaultImpl) protected
TypeDeserializerBase
(TypeDeserializerBase src, BeanProperty property) -
Method Summary
Modifier and TypeMethodDescriptionprotected Object
Deprecated.protected Object
_deserializeWithNativeTypeId
(JsonParser p, DeserializationContext ctxt, Object typeId) Helper method called whenJsonParser
indicates that it can use so-called native type ids, and such type id has been found.protected final JsonDeserializer<Object>
protected final JsonDeserializer<Object>
_findDeserializer
(DeserializationContext ctxt, String typeId) protected JavaType
_handleMissingTypeId
(DeserializationContext ctxt, String extraDesc) protected JavaType
_handleUnknownTypeId
(DeserializationContext ctxt, String typeId) Helper method called when given type id cannot be resolved into concrete deserializer either directly (using givenTypeIdResolver
), or using default type.baseType()
abstract TypeDeserializer
forProperty
(BeanProperty prop) Method called to create contextual version, to be used for values of given property.Class<?>
Accessor for "default implementation" type; optionally defined class to use in cases where type id is not accessible for some reason (either missing, or cannot be resolved)final String
Name of property that contains type information, if property-based inclusion is used.Accessor for object that handles conversions between types and matching type ids.abstract JsonTypeInfo.As
Accessor for type information inclusion method that deserializer uses; indicates how type information is (expected to be) embedded in JSON input.boolean
toString()
Methods inherited from class edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.jsontype.TypeDeserializer
deserializeIfNatural, deserializeIfNatural, deserializeTypedFromAny, deserializeTypedFromArray, deserializeTypedFromObject, deserializeTypedFromScalar
-
Field Details
-
_idResolver
-
_baseType
-
_property
Property that contains value for which type information is included; null if value is a root value. Note that this value is not assigned during construction but only whenforProperty(edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.BeanProperty)
is called to create a copy. -
_defaultImpl
Type to use as the default implementation, if type id is missing or cannot be resolved. -
_typePropertyName
Name of type property used; needed for non-property versions too, in cases where type id is to be exposed as part of JSON. -
_typeIdVisible
protected final boolean _typeIdVisible -
_deserializers
For efficient operation we will lazily build mappings from type ids to actual deserializers, once needed. -
_defaultImplDeserializer
-
-
Constructor Details
-
TypeDeserializerBase
protected TypeDeserializerBase(JavaType baseType, TypeIdResolver idRes, String typePropertyName, boolean typeIdVisible, JavaType defaultImpl) - Since:
- 2.8
-
TypeDeserializerBase
-
-
Method Details
-
forProperty
Description copied from class:TypeDeserializer
Method 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 (forCollection
orMap
valued properties).- Specified by:
forProperty
in classTypeDeserializer
-
getTypeInclusion
Description copied from class:TypeDeserializer
Accessor for type information inclusion method that deserializer uses; indicates how type information is (expected to be) embedded in JSON input.- Specified by:
getTypeInclusion
in classTypeDeserializer
-
baseTypeName
-
getPropertyName
Description copied from class:TypeDeserializer
Name of property that contains type information, if property-based inclusion is used.- Specified by:
getPropertyName
in classTypeDeserializer
-
getTypeIdResolver
Description copied from class:TypeDeserializer
Accessor for object that handles conversions between types and matching type ids.- Specified by:
getTypeIdResolver
in classTypeDeserializer
-
getDefaultImpl
Description copied from class:TypeDeserializer
Accessor for "default implementation" type; optionally defined class to use in cases where type id is not accessible for some reason (either missing, or cannot be resolved)- Specified by:
getDefaultImpl
in classTypeDeserializer
-
hasDefaultImpl
public boolean hasDefaultImpl()- Overrides:
hasDefaultImpl
in classTypeDeserializer
-
baseType
- Since:
- 2.9
-
toString
-
_findDeserializer
protected final JsonDeserializer<Object> _findDeserializer(DeserializationContext ctxt, String typeId) throws IOException - Throws:
IOException
-
_findDefaultImplDeserializer
protected final JsonDeserializer<Object> _findDefaultImplDeserializer(DeserializationContext ctxt) throws IOException - Throws:
IOException
-
_deserializeWithNativeTypeId
@Deprecated protected Object _deserializeWithNativeTypeId(JsonParser jp, DeserializationContext ctxt) throws IOException Deprecated.Helper method called whenJsonParser
indicates that it can use so-called native type ids. Assumption from there is that only native type ids are to be used.- Throws:
IOException
- Since:
- 2.3
-
_deserializeWithNativeTypeId
protected Object _deserializeWithNativeTypeId(JsonParser p, DeserializationContext ctxt, Object typeId) throws IOException Helper method called whenJsonParser
indicates that it can use so-called native type ids, and such type id has been found.- Throws:
IOException
- Since:
- 2.4
-
_handleUnknownTypeId
protected JavaType _handleUnknownTypeId(DeserializationContext ctxt, String typeId) throws IOException Helper method called when given type id cannot be resolved into concrete deserializer either directly (using givenTypeIdResolver
), or using default type. Default implementation simply throws aJsonMappingException
to indicate the problem; sub-classes may choose- Returns:
- If it is possible to resolve type id into a
JsonDeserializer
should return that deserializer; otherwise throw an exception to indicate the problem. - Throws:
IOException
- Since:
- 2.8
-
_handleMissingTypeId
protected JavaType _handleMissingTypeId(DeserializationContext ctxt, String extraDesc) throws IOException - Throws:
IOException
- Since:
- 2.9
-