Class SqlBlobSerializer

All Implemented Interfaces:
JsonFormatVisitable, SchemaAware, Serializable

public class SqlBlobSerializer extends StdScalarSerializer<Blob>
Serializer implementation for Blob to write as binary (for JSON and other formats Base64-encoded String, for binary formats as true binary).
Since:
2.12
See Also:
  • Constructor Details

    • SqlBlobSerializer

      public SqlBlobSerializer()
  • Method Details

    • isEmpty

      public boolean isEmpty(SerializerProvider provider, Blob value)
      Description copied from class: JsonSerializer
      Method called to check whether given serializable value is considered "empty" value (for purposes of suppressing serialization of empty values).

      Default implementation will consider only null values to be empty.

      NOTE: replaces JsonSerializer.isEmpty(Object), which was deprecated in 2.5

      Overrides:
      isEmpty in class JsonSerializer<Blob>
    • serialize

      public void serialize(Blob value, com.fasterxml.jackson.core.JsonGenerator gen, SerializerProvider ctxt) throws IOException
      Description copied from class: JsonSerializer
      Method that can be called to ask implementation to serialize values of type this serializer handles.
      Specified by:
      serialize in class StdSerializer<Blob>
      Parameters:
      value - Value to serialize; can not be null.
      gen - Generator used to output resulting Json content
      ctxt - Provider that can be used to get serializers for serializing Objects value contains, if any.
      Throws:
      IOException
    • serializeWithType

      public void serializeWithType(Blob value, com.fasterxml.jackson.core.JsonGenerator gen, SerializerProvider ctxt, TypeSerializer typeSer) throws IOException
      Description copied from class: StdScalarSerializer
      Default implementation will write type prefix, call regular serialization method (since assumption is that value itself does not need JSON Array or Object start/end markers), and then write type suffix. This should work for most cases; some sub-classes may want to change this behavior.
      Overrides:
      serializeWithType in class StdScalarSerializer<Blob>
      Parameters:
      value - Value to serialize; can not be null.
      gen - Generator used to output resulting Json content
      ctxt - Provider that can be used to get serializers for serializing Objects value contains, if any.
      typeSer - Type serializer to use for including type information
      Throws:
      IOException
    • _writeValue

      protected void _writeValue(Blob value, com.fasterxml.jackson.core.JsonGenerator gen, SerializerProvider ctxt) throws IOException
      Throws:
      IOException
    • acceptJsonFormatVisitor

      public void acceptJsonFormatVisitor(JsonFormatVisitorWrapper visitor, JavaType typeHint) throws JsonMappingException
      Description copied from class: StdSerializer
      Default implementation specifies no format. This behavior is usually overriden by custom serializers.
      Specified by:
      acceptJsonFormatVisitor in interface JsonFormatVisitable
      Overrides:
      acceptJsonFormatVisitor in class StdScalarSerializer<Blob>
      Parameters:
      typeHint - Type of element (entity like property) being visited
      Throws:
      JsonMappingException