Package com.microsoft.rest.serializer
Class FlatteningSerializer
- java.lang.Object
-
- com.fasterxml.jackson.databind.JsonSerializer<T>
-
- com.fasterxml.jackson.databind.ser.std.StdSerializer<Object>
-
- com.microsoft.rest.serializer.FlatteningSerializer
-
- All Implemented Interfaces:
com.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatVisitable,com.fasterxml.jackson.databind.jsonschema.SchemaAware,com.fasterxml.jackson.databind.ser.ResolvableSerializer,Serializable
public class FlatteningSerializer extends com.fasterxml.jackson.databind.ser.std.StdSerializer<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.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedFlatteningSerializer(Class<?> vc, com.fasterxml.jackson.databind.JsonSerializer<?> defaultSerializer, com.fasterxml.jackson.databind.ObjectMapper mapper)Creates an instance of FlatteningSerializer.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static com.fasterxml.jackson.databind.module.SimpleModulegetModule(com.fasterxml.jackson.databind.ObjectMapper mapper)Gets a module wrapping this serializer as an adapter for the Jackson ObjectMapper.voidresolve(com.fasterxml.jackson.databind.SerializerProvider provider)voidserialize(Object value, com.fasterxml.jackson.core.JsonGenerator jgen, com.fasterxml.jackson.databind.SerializerProvider provider)voidserializeWithType(Object value, com.fasterxml.jackson.core.JsonGenerator gen, com.fasterxml.jackson.databind.SerializerProvider provider, com.fasterxml.jackson.databind.jsontype.TypeSerializer typeSerializer)-
Methods inherited from class com.fasterxml.jackson.databind.ser.std.StdSerializer
_neitherNull, _nonEmpty, acceptJsonFormatVisitor, createSchemaNode, createSchemaNode, findAnnotatedContentSerializer, findContextualConvertingSerializer, findConvertingContentSerializer, findFormatFeature, findFormatOverrides, findIncludeOverrides, findPropertyFilter, getSchema, getSchema, handledType, isDefaultSerializer, visitArrayFormat, visitArrayFormat, visitFloatFormat, visitIntFormat, visitIntFormat, visitStringFormat, visitStringFormat, wrapAndThrow, wrapAndThrow
-
-
-
-
Constructor Detail
-
FlatteningSerializer
protected FlatteningSerializer(Class<?> vc, com.fasterxml.jackson.databind.JsonSerializer<?> defaultSerializer, com.fasterxml.jackson.databind.ObjectMapper mapper)
Creates an instance of FlatteningSerializer.- Parameters:
vc- handled typedefaultSerializer- the default JSON serializermapper- the object mapper for default serializations
-
-
Method Detail
-
getModule
public static com.fasterxml.jackson.databind.module.SimpleModule getModule(com.fasterxml.jackson.databind.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.
-
serialize
public void serialize(Object value, com.fasterxml.jackson.core.JsonGenerator jgen, com.fasterxml.jackson.databind.SerializerProvider provider) throws IOException
- Specified by:
serializein classcom.fasterxml.jackson.databind.ser.std.StdSerializer<Object>- Throws:
IOException
-
resolve
public void resolve(com.fasterxml.jackson.databind.SerializerProvider provider) throws com.fasterxml.jackson.databind.JsonMappingException- Specified by:
resolvein interfacecom.fasterxml.jackson.databind.ser.ResolvableSerializer- Throws:
com.fasterxml.jackson.databind.JsonMappingException
-
serializeWithType
public void serializeWithType(Object value, com.fasterxml.jackson.core.JsonGenerator gen, com.fasterxml.jackson.databind.SerializerProvider provider, com.fasterxml.jackson.databind.jsontype.TypeSerializer typeSerializer) throws IOException
- Overrides:
serializeWithTypein classcom.fasterxml.jackson.databind.JsonSerializer<Object>- Throws:
IOException
-
-