FlatteningDeserializer Class

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

Implements

com.fasterxml.jackson.databind.deser.ResolvableDeserializer

public final class FlatteningDeserializer
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 wrapped properties. For example, a property with annotation @JsonProperty(value = "properties.name") will be mapped to a top level "name" property in the POJO model.

Constructor Summary

Modifier Constructor Description
protected FlatteningDeserializer(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 cxt)
java.lang.Object deserializeWithType(JsonParser jp, DeserializationContext cxt, TypeDeserializer tDeserializer)
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 cxt)

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

FlatteningDeserializer

protected FlatteningDeserializer(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 cxt)

Overrides:

FlatteningDeserializer.deserialize(JsonParser jp, DeserializationContext cxt)

Parameters:

jp
cxt

Throws:

java.io.IOException

deserializeWithType

public Object deserializeWithType(JsonParser jp, DeserializationContext cxt, TypeDeserializer tDeserializer)

Overrides:

FlatteningDeserializer.deserializeWithType(JsonParser jp, DeserializationContext cxt, TypeDeserializer tDeserializer)

Parameters:

jp
cxt
tDeserializer

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 cxt)

Parameters:

cxt

Throws:

com.fasterxml.jackson.databind.JsonMappingException

Applies to