Class Jdk8StreamSerializer

All Implemented Interfaces:
JsonFormatVisitable

public class Jdk8StreamSerializer extends StdSerializer<Stream<?>>
Common typed stream serializer
  • Constructor Details

    • Jdk8StreamSerializer

      public Jdk8StreamSerializer(JavaType streamType, JavaType elemType)
      Constructor
      Parameters:
      streamType - Stream type
      elemType - Stream elements type (matching T)
    • Jdk8StreamSerializer

      public Jdk8StreamSerializer(JavaType streamType, JavaType elemType, ValueSerializer<Object> elemSerializer)
      Constructor with custom serializer
      Parameters:
      streamType - Stream type
      elemType - Stream elements type (matching T)
      elemSerializer - Custom serializer to use for element type
  • Method Details

    • createContextual

      public ValueSerializer<?> createContextual(SerializationContext provider, BeanProperty property)
      Description copied from class: ValueSerializer
      Method called to see if a different (or differently configured) serializer is needed to serialize values of specified property (or, for root values, in which case `null` is passed). Note that instance that this method is called on is typically shared one and as a result method should NOT modify this instance but rather construct and return a new instance. This instance should only be returned as-is, in case it is already suitable for use.

      Note that method is only called once per POJO property, and for the first usage as root value serializer; it is not called for every serialization, as doing that would have significant performance impact; most serializers cache contextual instances for future use.

      Overrides:
      createContextual in class ValueSerializer<Stream<?>>
      Parameters:
      provider - Context to use for accessing config, other serializers
      property - Property (defined by one or more accessors - field or method - used for accessing logical property value) for which serializer is used to be used; or, `null` for root value (or in cases where caller does not have this information, which is handled as root value case).
      Returns:
      Serializer to use for serializing values of specified property; may be this instance or a new instance.
    • serialize

      public void serialize(Stream<?> stream, JsonGenerator g, SerializationContext ctxt) throws JacksonException
      Description copied from class: ValueSerializer
      Method that can be called to ask implementation to serialize values of type this serializer handles.
      Specified by:
      serialize in class StdSerializer<Stream<?>>
      Parameters:
      stream - Value to serialize; can not be null.
      g - Generator used to output resulting Json content
      ctxt - Context that can be used to get serializers for serializing Objects value contains, if any.
      Throws:
      JacksonException