Class AdditionalPropertiesSerializer

java.lang.Object
org.gcube.com.fasterxml.jackson.databind.JsonSerializer<T>
org.gcube.com.fasterxml.jackson.databind.ser.std.StdSerializer<Object>
org.gcube.informationsystem.serialization.AdditionalPropertiesSerializer
All Implemented Interfaces:
Serializable, org.gcube.com.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatVisitable, org.gcube.com.fasterxml.jackson.databind.jsonschema.SchemaAware

public class AdditionalPropertiesSerializer extends org.gcube.com.fasterxml.jackson.databind.ser.std.StdSerializer<Object>
A custom Jackson serializer for handling additional properties in a map.

This serializer iterates over a map and writes each key-value pair as a field to the JSON generator. It is designed to work with the @JsonAnyGetter annotation.

Author:
Luca Frosini (ISTI - CNR)
See Also:
  • Nested Class Summary

    Nested classes/interfaces inherited from class org.gcube.com.fasterxml.jackson.databind.JsonSerializer

    org.gcube.com.fasterxml.jackson.databind.JsonSerializer.None
  • Field Summary

    Fields inherited from class org.gcube.com.fasterxml.jackson.databind.ser.std.StdSerializer

    _handledType
  • Constructor Summary

    Constructors
    Constructor
    Description
    Default constructor.
    AdditionalPropertiesSerializer(org.gcube.com.fasterxml.jackson.databind.ser.std.StdSerializer<Object> stdSerializer)
    Constructor that accepts a serializer to delegate to.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    serialize(Object obj, org.gcube.com.fasterxml.jackson.core.JsonGenerator generator, org.gcube.com.fasterxml.jackson.databind.SerializerProvider provider)

    Methods inherited from class org.gcube.com.fasterxml.jackson.databind.ser.std.StdSerializer

    acceptJsonFormatVisitor, createObjectNode, createSchemaNode, createSchemaNode, findAnnotatedContentSerializer, findConvertingContentSerializer, findFormatFeature, findFormatOverrides, findIncludeOverrides, findPropertyFilter, getSchema, getSchema, handledType, isDefaultSerializer, visitArrayFormat, visitArrayFormat, visitFloatFormat, visitIntFormat, visitIntFormat, visitStringFormat, visitStringFormat, wrapAndThrow, wrapAndThrow

    Methods inherited from class org.gcube.com.fasterxml.jackson.databind.JsonSerializer

    getDelegatee, isEmpty, isEmpty, isUnwrappingSerializer, properties, replaceDelegatee, serializeWithType, unwrappingSerializer, usesObjectId, withFilterId

    Methods inherited from class java.lang.Object

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

    • AdditionalPropertiesSerializer

      public AdditionalPropertiesSerializer()
      Default constructor.
    • AdditionalPropertiesSerializer

      public AdditionalPropertiesSerializer(org.gcube.com.fasterxml.jackson.databind.ser.std.StdSerializer<Object> stdSerializer)
      Constructor that accepts a serializer to delegate to.
      Parameters:
      stdSerializer - The delegate serializer.
  • Method Details

    • serialize

      public void serialize(Object obj, org.gcube.com.fasterxml.jackson.core.JsonGenerator generator, org.gcube.com.fasterxml.jackson.databind.SerializerProvider provider) throws IOException
      Specified by:
      serialize in class org.gcube.com.fasterxml.jackson.databind.ser.std.StdSerializer<Object>
      Throws:
      IOException