AdditionalPropertiesDeserializer Class

  • java.lang.Object
    • com.fasterxml.jackson.databind.JsonDeserializer
      • com.fasterxml.jackson.databind.deser.std.StdDeserializer
        • com.microsoft.bot.restclient.serializer.AdditionalPropertiesDeserializer

Implements

com.fasterxml.jackson.databind.deser.ResolvableDeserializer

public final class AdditionalPropertiesDeserializer
extends com.fasterxml.jackson.databind.deser.std.StdDeserializer<java.lang.Object>
implements com.fasterxml.jackson.databind.deser.ResolvableDeserializer

Custom serializer for deserializing complex types with additional properties. If a complex type has a property named "additionalProperties" with serialized name empty ("") of type Map<String, Object>, all extra properties on the payload will be stored in this map.

Constructor Summary

Modifier Constructor Description
protected AdditionalPropertiesDeserializer(Class<?> vc, JsonDeserializer<?> defaultDeserializer, ObjectMapper mapper)

Creates an instance of FlatteningDeserializer.

Method Summary

Modifier and Type Method and Description
java.lang.Object deserialize(JsonParser jp, DeserializationContext ctxt)
static com.fasterxml.jackson.databind.module.SimpleModule getModule(ObjectMapper mapper)

Gets a module wrapping this serializer as an adapter for the Jackson ObjectMapper.

void resolve(DeserializationContext ctxt)

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

com.fasterxml.jackson.databind.JsonDeserializer.deserialize com.fasterxml.jackson.databind.JsonDeserializer.deserialize com.fasterxml.jackson.databind.JsonDeserializer.deserializeWithType com.fasterxml.jackson.databind.JsonDeserializer.findBackReference com.fasterxml.jackson.databind.JsonDeserializer.getDelegatee com.fasterxml.jackson.databind.JsonDeserializer.getEmptyAccessPattern com.fasterxml.jackson.databind.JsonDeserializer.getEmptyValue com.fasterxml.jackson.databind.JsonDeserializer.getEmptyValue com.fasterxml.jackson.databind.JsonDeserializer.getKnownPropertyNames com.fasterxml.jackson.databind.JsonDeserializer.getNullAccessPattern com.fasterxml.jackson.databind.JsonDeserializer.getNullValue com.fasterxml.jackson.databind.JsonDeserializer.getNullValue com.fasterxml.jackson.databind.JsonDeserializer.getObjectIdReader com.fasterxml.jackson.databind.JsonDeserializer.isCachable com.fasterxml.jackson.databind.JsonDeserializer.logicalType com.fasterxml.jackson.databind.JsonDeserializer.replaceDelegatee(com.fasterxml.jackson.databind.JsonDeserializer< com.fasterxml.jackson.databind.JsonDeserializer.supportsUpdate com.fasterxml.jackson.databind.JsonDeserializer.unwrappingDeserializer

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

com.fasterxml.jackson.databind.deser.std.StdDeserializer._byteOverflow com.fasterxml.jackson.databind.deser.std.StdDeserializer._checkCoercionFail(com.fasterxml.jackson.databind.DeserializationContext,com.fasterxml.jackson.databind.cfg.CoercionAction,java.lang.Class< com.fasterxml.jackson.databind.deser.std.StdDeserializer._checkDoubleSpecialValue com.fasterxml.jackson.databind.deser.std.StdDeserializer._checkFloatSpecialValue com.fasterxml.jackson.databind.deser.std.StdDeserializer._checkFloatToIntCoercion(com.fasterxml.jackson.core.JsonParser,com.fasterxml.jackson.databind.DeserializationContext,java.lang.Class< com.fasterxml.jackson.databind.deser.std.StdDeserializer._checkFromStringCoercion com.fasterxml.jackson.databind.deser.std.StdDeserializer._checkFromStringCoercion(com.fasterxml.jackson.databind.DeserializationContext,java.lang.String,com.fasterxml.jackson.databind.type.LogicalType,java.lang.Class< com.fasterxml.jackson.databind.deser.std.StdDeserializer._checkTextualNull com.fasterxml.jackson.databind.deser.std.StdDeserializer._coerceBooleanFromInt(com.fasterxml.jackson.core.JsonParser,com.fasterxml.jackson.databind.DeserializationContext,java.lang.Class< com.fasterxml.jackson.databind.deser.std.StdDeserializer._coerceEmptyString com.fasterxml.jackson.databind.deser.std.StdDeserializer._coerceIntegral com.fasterxml.jackson.databind.deser.std.StdDeserializer._coerceNullToken com.fasterxml.jackson.databind.deser.std.StdDeserializer._coerceTextualNull com.fasterxml.jackson.databind.deser.std.StdDeserializer._coercedTypeDesc com.fasterxml.jackson.databind.deser.std.StdDeserializer._deserializeFromArray com.fasterxml.jackson.databind.deser.std.StdDeserializer._deserializeFromEmpty com.fasterxml.jackson.databind.deser.std.StdDeserializer._deserializeFromEmptyString(com.fasterxml.jackson.core.JsonParser,com.fasterxml.jackson.databind.DeserializationContext,com.fasterxml.jackson.databind.cfg.CoercionAction,java.lang.Class< com.fasterxml.jackson.databind.deser.std.StdDeserializer._deserializeFromString com.fasterxml.jackson.databind.deser.std.StdDeserializer._deserializeWrappedValue com.fasterxml.jackson.databind.deser.std.StdDeserializer._failDoubleToIntCoercion com.fasterxml.jackson.databind.deser.std.StdDeserializer._findCoercionFromBlankString com.fasterxml.jackson.databind.deser.std.StdDeserializer._findCoercionFromEmptyArray com.fasterxml.jackson.databind.deser.std.StdDeserializer._findCoercionFromEmptyString com.fasterxml.jackson.databind.deser.std.StdDeserializer._findNullProvider(com.fasterxml.jackson.databind.DeserializationContext,com.fasterxml.jackson.databind.BeanProperty,com.fasterxml.jackson.annotation.Nulls,com.fasterxml.jackson.databind.JsonDeserializer< com.fasterxml.jackson.databind.deser.std.StdDeserializer._hasTextualNull com.fasterxml.jackson.databind.deser.std.StdDeserializer._intOverflow com.fasterxml.jackson.databind.deser.std.StdDeserializer._isBlank com.fasterxml.jackson.databind.deser.std.StdDeserializer._isEmptyOrTextualNull com.fasterxml.jackson.databind.deser.std.StdDeserializer._isFalse com.fasterxml.jackson.databind.deser.std.StdDeserializer._isIntNumber com.fasterxml.jackson.databind.deser.std.StdDeserializer._isNaN com.fasterxml.jackson.databind.deser.std.StdDeserializer._isNegInf com.fasterxml.jackson.databind.deser.std.StdDeserializer._isPosInf com.fasterxml.jackson.databind.deser.std.StdDeserializer._isTrue com.fasterxml.jackson.databind.deser.std.StdDeserializer._neitherNull com.fasterxml.jackson.databind.deser.std.StdDeserializer._nonNullNumber com.fasterxml.jackson.databind.deser.std.StdDeserializer._parseBoolean(com.fasterxml.jackson.core.JsonParser,com.fasterxml.jackson.databind.DeserializationContext,java.lang.Class< com.fasterxml.jackson.databind.deser.std.StdDeserializer._parseBooleanFromInt com.fasterxml.jackson.databind.deser.std.StdDeserializer._parseBooleanPrimitive com.fasterxml.jackson.databind.deser.std.StdDeserializer._parseBooleanPrimitive(com.fasterxml.jackson.databind.DeserializationContext,com.fasterxml.jackson.core.JsonParser,java.lang.Class< com.fasterxml.jackson.databind.deser.std.StdDeserializer._parseBytePrimitive com.fasterxml.jackson.databind.deser.std.StdDeserializer._parseDate com.fasterxml.jackson.databind.deser.std.StdDeserializer._parseDate com.fasterxml.jackson.databind.deser.std.StdDeserializer._parseDateFromArray com.fasterxml.jackson.databind.deser.std.StdDeserializer._parseDouble com.fasterxml.jackson.databind.deser.std.StdDeserializer._parseDoublePrimitive com.fasterxml.jackson.databind.deser.std.StdDeserializer._parseDoublePrimitive com.fasterxml.jackson.databind.deser.std.StdDeserializer._parseFloatPrimitive com.fasterxml.jackson.databind.deser.std.StdDeserializer._parseFloatPrimitive com.fasterxml.jackson.databind.deser.std.StdDeserializer._parseIntPrimitive com.fasterxml.jackson.databind.deser.std.StdDeserializer._parseIntPrimitive com.fasterxml.jackson.databind.deser.std.StdDeserializer._parseInteger(com.fasterxml.jackson.core.JsonParser,com.fasterxml.jackson.databind.DeserializationContext,java.lang.Class< com.fasterxml.jackson.databind.deser.std.StdDeserializer._parseLong(com.fasterxml.jackson.core.JsonParser,com.fasterxml.jackson.databind.DeserializationContext,java.lang.Class< com.fasterxml.jackson.databind.deser.std.StdDeserializer._parseLongPrimitive com.fasterxml.jackson.databind.deser.std.StdDeserializer._parseLongPrimitive com.fasterxml.jackson.databind.deser.std.StdDeserializer._parseShortPrimitive com.fasterxml.jackson.databind.deser.std.StdDeserializer._parseString com.fasterxml.jackson.databind.deser.std.StdDeserializer._reportFailedNullCoerce(com.fasterxml.jackson.databind.DeserializationContext,boolean,java.lang.Enum< com.fasterxml.jackson.databind.deser.std.StdDeserializer._shortOverflow com.fasterxml.jackson.databind.deser.std.StdDeserializer._verifyEndArrayForSingle com.fasterxml.jackson.databind.deser.std.StdDeserializer._verifyNullForPrimitive com.fasterxml.jackson.databind.deser.std.StdDeserializer._verifyNullForPrimitiveCoercion com.fasterxml.jackson.databind.deser.std.StdDeserializer._verifyNullForScalarCoercion com.fasterxml.jackson.databind.deser.std.StdDeserializer._verifyNumberForScalarCoercion com.fasterxml.jackson.databind.deser.std.StdDeserializer._verifyStringForScalarCoercion com.fasterxml.jackson.databind.deser.std.StdDeserializer.deserializeWithType com.fasterxml.jackson.databind.deser.std.StdDeserializer.findContentNullProvider(com.fasterxml.jackson.databind.DeserializationContext,com.fasterxml.jackson.databind.BeanProperty,com.fasterxml.jackson.databind.JsonDeserializer< com.fasterxml.jackson.databind.deser.std.StdDeserializer.findContentNullStyle com.fasterxml.jackson.databind.deser.std.StdDeserializer.findConvertingContentDeserializer(com.fasterxml.jackson.databind.DeserializationContext,com.fasterxml.jackson.databind.BeanProperty,com.fasterxml.jackson.databind.JsonDeserializer< com.fasterxml.jackson.databind.deser.std.StdDeserializer.findDeserializer com.fasterxml.jackson.databind.deser.std.StdDeserializer.findFormatFeature(com.fasterxml.jackson.databind.DeserializationContext,com.fasterxml.jackson.databind.BeanProperty,java.lang.Class< com.fasterxml.jackson.databind.deser.std.StdDeserializer.findFormatOverrides(com.fasterxml.jackson.databind.DeserializationContext,com.fasterxml.jackson.databind.BeanProperty,java.lang.Class< com.fasterxml.jackson.databind.deser.std.StdDeserializer.findValueNullProvider com.fasterxml.jackson.databind.deser.std.StdDeserializer.getValueClass com.fasterxml.jackson.databind.deser.std.StdDeserializer.getValueInstantiator com.fasterxml.jackson.databind.deser.std.StdDeserializer.getValueType com.fasterxml.jackson.databind.deser.std.StdDeserializer.getValueType com.fasterxml.jackson.databind.deser.std.StdDeserializer.handleMissingEndArrayForSingle com.fasterxml.jackson.databind.deser.std.StdDeserializer.handleUnknownProperty com.fasterxml.jackson.databind.deser.std.StdDeserializer.handledType com.fasterxml.jackson.databind.deser.std.StdDeserializer.isDefaultDeserializer(com.fasterxml.jackson.databind.JsonDeserializer< com.fasterxml.jackson.databind.deser.std.StdDeserializer.isDefaultKeyDeserializer

Methods inherited from java.lang.Object

java.lang.Object.clone java.lang.Object.equals java.lang.Object.finalize java.lang.Object.getClass java.lang.Object.hashCode java.lang.Object.notify java.lang.Object.notifyAll java.lang.Object.toString java.lang.Object.wait java.lang.Object.wait java.lang.Object.wait

Constructor Details

AdditionalPropertiesDeserializer

protected AdditionalPropertiesDeserializer(Class vc, JsonDeserializer defaultDeserializer, ObjectMapper mapper)

Creates an instance of FlatteningDeserializer.

Parameters:

vc - handled type
defaultDeserializer - the default JSON mapperAdapter
mapper - the object mapper for default deserializations

Method Details

deserialize

public Object deserialize(JsonParser jp, DeserializationContext ctxt)

Overrides:

AdditionalPropertiesDeserializer.deserialize(JsonParser jp, DeserializationContext ctxt)

Parameters:

jp
ctxt

Throws:

java.io.IOException

getModule

public static SimpleModule getModule(ObjectMapper mapper)

Gets a module wrapping this serializer as an adapter for the Jackson ObjectMapper.

Parameters:

mapper - the object mapper for default deserializations

Returns:

a simple module to be plugged onto Jackson ObjectMapper.

resolve

public void resolve(DeserializationContext ctxt)

Parameters:

ctxt

Throws:

com.fasterxml.jackson.databind.JsonMappingException

Applies to