FlatteningSerializer Class

  • java.lang.Object
    • com.fasterxml.jackson.databind.JsonSerializer
      • com.fasterxml.jackson.databind.ser.std.StdSerializer
        • com.microsoft.bot.restclient.serializer.FlatteningSerializer

Implements

com.fasterxml.jackson.databind.ser.ResolvableSerializer

public class FlatteningSerializer
extends com.fasterxml.jackson.databind.ser.std.StdSerializer<java.lang.Object>
implements com.fasterxml.jackson.databind.ser.ResolvableSerializer

Custom serializer for serializing types with wrapped properties. For example, a property with annotation @JsonProperty(value = "properties.name") will be mapped from a top level "name" property in the POJO model to {'properties' : { 'name' : 'my_name' }} in the serialized payload.

Constructor Summary

Modifier Constructor Description
protected FlatteningSerializer(Class<?> vc, JsonSerializer<?> defaultSerializer, ObjectMapper mapper)

Creates an instance of FlatteningSerializer.

Method Summary

Modifier and Type Method and Description
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(SerializerProvider provider)
void serialize(Object value, JsonGenerator jgen, SerializerProvider provider)
void serializeWithType(Object value, JsonGenerator gen, SerializerProvider provider, TypeSerializer typeSerializer)

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

com.fasterxml.jackson.databind.JsonSerializer.getDelegatee com.fasterxml.jackson.databind.JsonSerializer.isEmpty com.fasterxml.jackson.databind.JsonSerializer.isEmpty com.fasterxml.jackson.databind.JsonSerializer.isUnwrappingSerializer com.fasterxml.jackson.databind.JsonSerializer.properties com.fasterxml.jackson.databind.JsonSerializer.replaceDelegatee(com.fasterxml.jackson.databind.JsonSerializer< com.fasterxml.jackson.databind.JsonSerializer.serializeWithType com.fasterxml.jackson.databind.JsonSerializer.unwrappingSerializer com.fasterxml.jackson.databind.JsonSerializer.usesObjectId com.fasterxml.jackson.databind.JsonSerializer.withFilterId

Methods inherited from com.fasterxml.jackson.databind.ser.std.StdSerializer

com.fasterxml.jackson.databind.ser.std.StdSerializer._neitherNull com.fasterxml.jackson.databind.ser.std.StdSerializer._nonEmpty(java.util.Collection< com.fasterxml.jackson.databind.ser.std.StdSerializer.acceptJsonFormatVisitor com.fasterxml.jackson.databind.ser.std.StdSerializer.createSchemaNode com.fasterxml.jackson.databind.ser.std.StdSerializer.createSchemaNode com.fasterxml.jackson.databind.ser.std.StdSerializer.findAnnotatedContentSerializer com.fasterxml.jackson.databind.ser.std.StdSerializer.findContextualConvertingSerializer(com.fasterxml.jackson.databind.SerializerProvider,com.fasterxml.jackson.databind.BeanProperty,com.fasterxml.jackson.databind.JsonSerializer< com.fasterxml.jackson.databind.ser.std.StdSerializer.findConvertingContentSerializer(com.fasterxml.jackson.databind.SerializerProvider,com.fasterxml.jackson.databind.BeanProperty,com.fasterxml.jackson.databind.JsonSerializer< com.fasterxml.jackson.databind.ser.std.StdSerializer.findFormatFeature(com.fasterxml.jackson.databind.SerializerProvider,com.fasterxml.jackson.databind.BeanProperty,java.lang.Class< com.fasterxml.jackson.databind.ser.std.StdSerializer.findFormatOverrides(com.fasterxml.jackson.databind.SerializerProvider,com.fasterxml.jackson.databind.BeanProperty,java.lang.Class< com.fasterxml.jackson.databind.ser.std.StdSerializer.findIncludeOverrides(com.fasterxml.jackson.databind.SerializerProvider,com.fasterxml.jackson.databind.BeanProperty,java.lang.Class< com.fasterxml.jackson.databind.ser.std.StdSerializer.findPropertyFilter com.fasterxml.jackson.databind.ser.std.StdSerializer.getSchema com.fasterxml.jackson.databind.ser.std.StdSerializer.getSchema com.fasterxml.jackson.databind.ser.std.StdSerializer.handledType com.fasterxml.jackson.databind.ser.std.StdSerializer.isDefaultSerializer(com.fasterxml.jackson.databind.JsonSerializer< com.fasterxml.jackson.databind.ser.std.StdSerializer.serialize com.fasterxml.jackson.databind.ser.std.StdSerializer.visitArrayFormat(com.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatVisitorWrapper,com.fasterxml.jackson.databind.JavaType,com.fasterxml.jackson.databind.JsonSerializer< com.fasterxml.jackson.databind.ser.std.StdSerializer.visitArrayFormat com.fasterxml.jackson.databind.ser.std.StdSerializer.visitFloatFormat com.fasterxml.jackson.databind.ser.std.StdSerializer.visitIntFormat com.fasterxml.jackson.databind.ser.std.StdSerializer.visitIntFormat com.fasterxml.jackson.databind.ser.std.StdSerializer.visitStringFormat com.fasterxml.jackson.databind.ser.std.StdSerializer.visitStringFormat com.fasterxml.jackson.databind.ser.std.StdSerializer.wrapAndThrow com.fasterxml.jackson.databind.ser.std.StdSerializer.wrapAndThrow

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

FlatteningSerializer

protected FlatteningSerializer(Class vc, JsonSerializer defaultSerializer, ObjectMapper mapper)

Creates an instance of FlatteningSerializer.

Parameters:

vc - handled type
defaultSerializer - the default JSON serializer
mapper - the object mapper for default serializations

Method Details

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 serializations

Returns:

a simple module to be plugged onto Jackson ObjectMapper.

resolve

public void resolve(SerializerProvider provider)

Parameters:

provider

Throws:

com.fasterxml.jackson.databind.JsonMappingException

serialize

public void serialize(Object value, JsonGenerator jgen, SerializerProvider provider)

Overrides:

FlatteningSerializer.serialize(Object value, JsonGenerator jgen, SerializerProvider provider)

Parameters:

value
jgen
provider

Throws:

java.io.IOException

serializeWithType

public void serializeWithType(Object value, JsonGenerator gen, SerializerProvider provider, TypeSerializer typeSerializer)

Overrides:

FlatteningSerializer.serializeWithType(Object value, JsonGenerator gen, SerializerProvider provider, TypeSerializer typeSerializer)

Parameters:

value
gen
provider
typeSerializer

Throws:

java.io.IOException

Applies to