Class EnrichedMapDeserializer

java.lang.Object
com.fasterxml.jackson.databind.JsonDeserializer<T>
com.fasterxml.jackson.databind.deser.std.StdDeserializer<T>
com.fasterxml.jackson.databind.deser.std.ContainerDeserializerBase<Map<Object,Object>>
com.fasterxml.jackson.databind.deser.std.MapDeserializer
com.atlassian.confluence.rest.serialization.jackson2.MapAndKeyValuePairDeserializer
com.atlassian.confluence.rest.serialization.jackson2.EnrichedMapDeserializer
All Implemented Interfaces:
com.fasterxml.jackson.databind.deser.ContextualDeserializer, com.fasterxml.jackson.databind.deser.NullValueProvider, com.fasterxml.jackson.databind.deser.ResolvableDeserializer, com.fasterxml.jackson.databind.deser.ValueInstantiator.Gettable, Serializable

public class EnrichedMapDeserializer extends MapAndKeyValuePairDeserializer
Deserializes maps that have been enriched with extra properties such as _links and _expandable.

These maps need a custom deserializer because the _ underscore-prefixed properties will not deserialise to legitimate map keys - they'll either throw exceptions or return garbage values.

See Also:
  • Nested Class Summary

    Nested classes/interfaces inherited from class com.fasterxml.jackson.databind.JsonDeserializer

    com.fasterxml.jackson.databind.JsonDeserializer.None
  • Field Summary

    Fields inherited from class com.fasterxml.jackson.databind.deser.std.MapDeserializer

    _checkDupSquash, _delegateDeserializer, _hasDefaultCreator, _ignorableProperties, _includableProperties, _inclusionChecker, _keyDeserializer, _propertyBasedCreator, _standardStringKey, _valueDeserializer, _valueInstantiator, _valueTypeDeserializer

    Fields inherited from class com.fasterxml.jackson.databind.deser.std.ContainerDeserializerBase

    _containerType, _nullProvider, _skipNullValues, _unwrapSingle

    Fields inherited from class com.fasterxml.jackson.databind.deser.std.StdDeserializer

    _valueClass, _valueType, F_MASK_ACCEPT_ARRAYS, F_MASK_INT_COERCIONS
  • Constructor Summary

    Constructors
    Constructor
    Description
    EnrichedMapDeserializer(com.fasterxml.jackson.databind.JavaType mapType, com.fasterxml.jackson.databind.BeanDescription beanDescription, com.fasterxml.jackson.databind.deser.std.MapDeserializer src)
     
    EnrichedMapDeserializer(com.fasterxml.jackson.databind.JavaType mapType, com.fasterxml.jackson.databind.deser.ValueInstantiator valueInstantiator, com.fasterxml.jackson.databind.KeyDeserializer keyDeser, com.fasterxml.jackson.databind.JsonDeserializer<Object> valueDeser, com.fasterxml.jackson.databind.jsontype.TypeDeserializer valueTypeDeser)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    deserialize(com.fasterxml.jackson.core.JsonParser jp, com.fasterxml.jackson.databind.DeserializationContext ctxt)
     
    deserialize(com.fasterxml.jackson.core.JsonParser jp, com.fasterxml.jackson.databind.DeserializationContext ctxt, Map<Object,Object> result)
     
    void
    resolve(com.fasterxml.jackson.databind.DeserializationContext ctxt)
     
    protected com.fasterxml.jackson.databind.deser.std.MapDeserializer
    withResolved(com.fasterxml.jackson.databind.KeyDeserializer keyDeser, com.fasterxml.jackson.databind.jsontype.TypeDeserializer valueTypeDeser, com.fasterxml.jackson.databind.JsonDeserializer<?> valueDeser, com.fasterxml.jackson.databind.deser.NullValueProvider nuller, Set<String> ignorable)
    It resolves contextualisation to MapDeserializer and this is erroneous for EnrichedMapDeserializer and also we always need EnrichedMapDeserializer .
    protected com.fasterxml.jackson.databind.deser.std.MapDeserializer
    withResolved(com.fasterxml.jackson.databind.KeyDeserializer keyDeser, com.fasterxml.jackson.databind.jsontype.TypeDeserializer valueTypeDeser, com.fasterxml.jackson.databind.JsonDeserializer<?> valueDeser, com.fasterxml.jackson.databind.deser.NullValueProvider nuller, Set<String> ignorable, Set<String> includable)
    It resolves contextualisation to MapDeserializer and this is erroneous for EnrichedMapDeserializer and also we always need EnrichedMapDeserializer .

    Methods inherited from class com.fasterxml.jackson.databind.deser.std.MapDeserializer

    _deserializeUsingCreator, _isStdKeyDeser, _readAndBind, _readAndBindStringKeyMap, _readAndUpdate, _readAndUpdateStringKeyMap, _squashDups, createContextual, deserializeWithType, getContentDeserializer, getMapClass, getValueInstantiator, getValueType, isCachable, logicalType, setIgnorableProperties, setIgnorableProperties, setIncludableProperties

    Methods inherited from class com.fasterxml.jackson.databind.deser.std.ContainerDeserializerBase

    findBackReference, getContentType, getEmptyAccessPattern, getEmptyValue, supportsUpdate, wrapAndThrow, wrapAndThrow

    Methods inherited from class com.fasterxml.jackson.databind.deser.std.StdDeserializer

    _byteOverflow, _checkBooleanToStringCoercion, _checkCoercionFail, _checkDoubleSpecialValue, _checkFloatSpecialValue, _checkFloatToIntCoercion, _checkFloatToStringCoercion, _checkFromStringCoercion, _checkFromStringCoercion, _checkIntToFloatCoercion, _checkIntToStringCoercion, _checkTextualNull, _checkToStringCoercion, _coerceBooleanFromInt, _coercedTypeDesc, _coercedTypeDesc, _coerceEmptyString, _coerceIntegral, _coerceNullToken, _coerceTextualNull, _deserializeFromArray, _deserializeFromEmpty, _deserializeFromEmptyString, _deserializeFromString, _deserializeWrappedValue, _failDoubleToIntCoercion, _findCoercionFromBlankString, _findCoercionFromEmptyArray, _findCoercionFromEmptyString, _findNullProvider, _hasTextualNull, _intOverflow, _isBlank, _isEmptyOrTextualNull, _isFalse, _isIntNumber, _isNaN, _isNegInf, _isPosInf, _isTrue, _neitherNull, _nonNullNumber, _parseBoolean, _parseBooleanFromInt, _parseBooleanPrimitive, _parseBooleanPrimitive, _parseBytePrimitive, _parseDate, _parseDate, _parseDateFromArray, _parseDouble, _parseDouble, _parseDoublePrimitive, _parseDoublePrimitive, _parseDoublePrimitive, _parseFloatPrimitive, _parseFloatPrimitive, _parseFloatPrimitive, _parseInteger, _parseInteger, _parseIntPrimitive, _parseIntPrimitive, _parseLong, _parseLong, _parseLongPrimitive, _parseLongPrimitive, _parseShortPrimitive, _parseString, _parseString, _reportFailedNullCoerce, _shortOverflow, _verifyEndArrayForSingle, _verifyNullForPrimitive, _verifyNullForPrimitiveCoercion, _verifyNullForScalarCoercion, _verifyNumberForScalarCoercion, _verifyStringForScalarCoercion, findContentNullProvider, findContentNullStyle, findConvertingContentDeserializer, findDeserializer, findFormatFeature, findFormatOverrides, findValueNullProvider, getValueClass, getValueType, handledType, handleMissingEndArrayForSingle, handleNestedArrayForSingle, handleUnknownProperty, isDefaultDeserializer, isDefaultKeyDeserializer

    Methods inherited from class com.fasterxml.jackson.databind.JsonDeserializer

    deserializeWithType, getAbsentValue, getDelegatee, getEmptyValue, getKnownPropertyNames, getNullAccessPattern, getNullValue, getNullValue, getObjectIdReader, replaceDelegatee, unwrappingDeserializer

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • EnrichedMapDeserializer

      public EnrichedMapDeserializer(com.fasterxml.jackson.databind.JavaType mapType, com.fasterxml.jackson.databind.BeanDescription beanDescription, com.fasterxml.jackson.databind.deser.std.MapDeserializer src)
    • EnrichedMapDeserializer

      public EnrichedMapDeserializer(com.fasterxml.jackson.databind.JavaType mapType, com.fasterxml.jackson.databind.deser.ValueInstantiator valueInstantiator, com.fasterxml.jackson.databind.KeyDeserializer keyDeser, com.fasterxml.jackson.databind.JsonDeserializer<Object> valueDeser, com.fasterxml.jackson.databind.jsontype.TypeDeserializer valueTypeDeser)
  • Method Details

    • resolve

      public void resolve(com.fasterxml.jackson.databind.DeserializationContext ctxt) throws com.fasterxml.jackson.databind.JsonMappingException
      Specified by:
      resolve in interface com.fasterxml.jackson.databind.deser.ResolvableDeserializer
      Overrides:
      resolve in class com.fasterxml.jackson.databind.deser.std.MapDeserializer
      Throws:
      com.fasterxml.jackson.databind.JsonMappingException
    • deserialize

      public Map<Object,Object> deserialize(com.fasterxml.jackson.core.JsonParser jp, com.fasterxml.jackson.databind.DeserializationContext ctxt) throws IOException
      Overrides:
      deserialize in class MapAndKeyValuePairDeserializer
      Throws:
      IOException
    • deserialize

      public Map<Object,Object> deserialize(com.fasterxml.jackson.core.JsonParser jp, com.fasterxml.jackson.databind.DeserializationContext ctxt, Map<Object,Object> result) throws IOException
      Overrides:
      deserialize in class MapAndKeyValuePairDeserializer
      Throws:
      IOException
    • withResolved

      protected com.fasterxml.jackson.databind.deser.std.MapDeserializer withResolved(com.fasterxml.jackson.databind.KeyDeserializer keyDeser, com.fasterxml.jackson.databind.jsontype.TypeDeserializer valueTypeDeser, com.fasterxml.jackson.databind.JsonDeserializer<?> valueDeser, com.fasterxml.jackson.databind.deser.NullValueProvider nuller, Set<String> ignorable)
      It resolves contextualisation to MapDeserializer and this is erroneous for EnrichedMapDeserializer and also we always need EnrichedMapDeserializer . The wrapped deserializers take care for other cases.
      Overrides:
      withResolved in class com.fasterxml.jackson.databind.deser.std.MapDeserializer
    • withResolved

      protected com.fasterxml.jackson.databind.deser.std.MapDeserializer withResolved(com.fasterxml.jackson.databind.KeyDeserializer keyDeser, com.fasterxml.jackson.databind.jsontype.TypeDeserializer valueTypeDeser, com.fasterxml.jackson.databind.JsonDeserializer<?> valueDeser, com.fasterxml.jackson.databind.deser.NullValueProvider nuller, Set<String> ignorable, Set<String> includable)
      It resolves contextualisation to MapDeserializer and this is erroneous for EnrichedMapDeserializer and also we always need EnrichedMapDeserializer . The wrapped deserializers take care for other cases.
      Overrides:
      withResolved in class com.fasterxml.jackson.databind.deser.std.MapDeserializer