Class XmlTextDeserializer
- java.lang.Object
-
- com.fasterxml.jackson.databind.JsonDeserializer<T>
-
- com.fasterxml.jackson.databind.deser.std.StdDeserializer<java.lang.Object>
-
- com.fasterxml.jackson.databind.deser.std.DelegatingDeserializer
-
- com.fasterxml.jackson.dataformat.xml.deser.XmlTextDeserializer
-
- All Implemented Interfaces:
com.fasterxml.jackson.databind.deser.ContextualDeserializer
,com.fasterxml.jackson.databind.deser.NullValueProvider
,com.fasterxml.jackson.databind.deser.ResolvableDeserializer
,java.io.Serializable
public class XmlTextDeserializer extends com.fasterxml.jackson.databind.deser.std.DelegatingDeserializer
Delegating deserializer that is used in the special cases where we may sometimes see a "plain" String value but need to map it as if it was a property of POJO. The impedance is introduced by heuristic conversion from XML events into rough JSON equivalents; and this is one work-around that can only be done after the fact.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected com.fasterxml.jackson.databind.deser.ValueInstantiator
_valueInstantiator
protected com.fasterxml.jackson.databind.deser.SettableBeanProperty
_xmlTextProperty
Actual property that is indicated to be of type "XML Text" (and is the only element-valued property)protected int
_xmlTextPropertyIndex
Property index of the "XML text property"; needed for finding actual property instance after resolution and contextualization: instance may change, but index will remain constant.
-
Constructor Summary
Constructors Constructor Description XmlTextDeserializer(com.fasterxml.jackson.databind.deser.BeanDeserializerBase delegate, int textPropIndex)
XmlTextDeserializer(com.fasterxml.jackson.databind.deser.BeanDeserializerBase delegate, com.fasterxml.jackson.databind.deser.SettableBeanProperty prop)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected com.fasterxml.jackson.databind.deser.BeanDeserializerBase
_verifyDeserType(com.fasterxml.jackson.databind.JsonDeserializer<?> deser)
com.fasterxml.jackson.databind.JsonDeserializer<?>
createContextual(com.fasterxml.jackson.databind.DeserializationContext ctxt, com.fasterxml.jackson.databind.BeanProperty property)
java.lang.Object
deserialize(com.fasterxml.jackson.core.JsonParser p, com.fasterxml.jackson.databind.DeserializationContext ctxt)
java.lang.Object
deserialize(com.fasterxml.jackson.core.JsonParser p, com.fasterxml.jackson.databind.DeserializationContext ctxt, java.lang.Object bean)
java.lang.Object
deserializeWithType(com.fasterxml.jackson.core.JsonParser p, com.fasterxml.jackson.databind.DeserializationContext ctxt, com.fasterxml.jackson.databind.jsontype.TypeDeserializer typeDeserializer)
protected com.fasterxml.jackson.databind.JsonDeserializer<?>
newDelegatingInstance(com.fasterxml.jackson.databind.JsonDeserializer<?> newDelegatee0)
-
Methods inherited from class com.fasterxml.jackson.databind.deser.std.DelegatingDeserializer
findBackReference, getDelegatee, getEmptyValue, getKnownPropertyNames, getNullAccessPattern, getNullValue, getObjectIdReader, isCachable, replaceDelegatee, resolve, supportsUpdate
-
Methods inherited from class com.fasterxml.jackson.databind.deser.std.StdDeserializer
_byteOverflow, _coercedTypeDesc, _coerceEmptyString, _coerceIntegral, _coerceNullToken, _coerceTextualNull, _deserializeFromArray, _deserializeFromEmpty, _deserializeWrappedValue, _failDoubleToIntCoercion, _findNullProvider, _hasTextualNull, _intOverflow, _isEmptyOrTextualNull, _isIntNumber, _isNaN, _isNegInf, _isPosInf, _neitherNull, _nonNullNumber, _parseBooleanFromInt, _parseBooleanPrimitive, _parseBytePrimitive, _parseDate, _parseDate, _parseDateFromArray, _parseDoublePrimitive, _parseDoublePrimitive, _parseFloatPrimitive, _parseFloatPrimitive, _parseIntPrimitive, _parseIntPrimitive, _parseLongPrimitive, _parseLongPrimitive, _parseShortPrimitive, _parseString, _reportFailedNullCoerce, _shortOverflow, _verifyEndArrayForSingle, _verifyNullForPrimitive, _verifyNullForPrimitiveCoercion, _verifyNullForScalarCoercion, _verifyNumberForScalarCoercion, _verifyStringForScalarCoercion, findContentNullProvider, findContentNullStyle, findConvertingContentDeserializer, findDeserializer, findFormatFeature, findFormatOverrides, findValueNullProvider, getValueClass, getValueType, getValueType, handledType, handleMissingEndArrayForSingle, handleUnknownProperty, isDefaultDeserializer, isDefaultKeyDeserializer, parseDouble
-
-
-
-
Field Detail
-
_xmlTextPropertyIndex
protected final int _xmlTextPropertyIndex
Property index of the "XML text property"; needed for finding actual property instance after resolution and contextualization: instance may change, but index will remain constant.
-
_xmlTextProperty
protected final com.fasterxml.jackson.databind.deser.SettableBeanProperty _xmlTextProperty
Actual property that is indicated to be of type "XML Text" (and is the only element-valued property)
-
_valueInstantiator
protected final com.fasterxml.jackson.databind.deser.ValueInstantiator _valueInstantiator
-
-
Constructor Detail
-
XmlTextDeserializer
public XmlTextDeserializer(com.fasterxml.jackson.databind.deser.BeanDeserializerBase delegate, com.fasterxml.jackson.databind.deser.SettableBeanProperty prop)
-
XmlTextDeserializer
public XmlTextDeserializer(com.fasterxml.jackson.databind.deser.BeanDeserializerBase delegate, int textPropIndex)
-
-
Method Detail
-
newDelegatingInstance
protected com.fasterxml.jackson.databind.JsonDeserializer<?> newDelegatingInstance(com.fasterxml.jackson.databind.JsonDeserializer<?> newDelegatee0)
- Specified by:
newDelegatingInstance
in classcom.fasterxml.jackson.databind.deser.std.DelegatingDeserializer
-
createContextual
public com.fasterxml.jackson.databind.JsonDeserializer<?> createContextual(com.fasterxml.jackson.databind.DeserializationContext ctxt, com.fasterxml.jackson.databind.BeanProperty property) throws com.fasterxml.jackson.databind.JsonMappingException
- Specified by:
createContextual
in interfacecom.fasterxml.jackson.databind.deser.ContextualDeserializer
- Overrides:
createContextual
in classcom.fasterxml.jackson.databind.deser.std.DelegatingDeserializer
- Throws:
com.fasterxml.jackson.databind.JsonMappingException
-
deserialize
public java.lang.Object deserialize(com.fasterxml.jackson.core.JsonParser p, com.fasterxml.jackson.databind.DeserializationContext ctxt) throws java.io.IOException
- Overrides:
deserialize
in classcom.fasterxml.jackson.databind.deser.std.DelegatingDeserializer
- Throws:
java.io.IOException
-
deserialize
public java.lang.Object deserialize(com.fasterxml.jackson.core.JsonParser p, com.fasterxml.jackson.databind.DeserializationContext ctxt, java.lang.Object bean) throws java.io.IOException
- Overrides:
deserialize
in classcom.fasterxml.jackson.databind.deser.std.DelegatingDeserializer
- Throws:
java.io.IOException
-
deserializeWithType
public java.lang.Object deserializeWithType(com.fasterxml.jackson.core.JsonParser p, com.fasterxml.jackson.databind.DeserializationContext ctxt, com.fasterxml.jackson.databind.jsontype.TypeDeserializer typeDeserializer) throws java.io.IOException
- Overrides:
deserializeWithType
in classcom.fasterxml.jackson.databind.deser.std.DelegatingDeserializer
- Throws:
java.io.IOException
-
_verifyDeserType
protected com.fasterxml.jackson.databind.deser.BeanDeserializerBase _verifyDeserType(com.fasterxml.jackson.databind.JsonDeserializer<?> deser)
-
-