Class JacksonProcessor

  • All Implemented Interfaces:
    io.micronaut.core.async.subscriber.Completable, io.micronaut.core.async.subscriber.Emitter<byte[]>, org.reactivestreams.Processor<byte[],​com.fasterxml.jackson.databind.JsonNode>, org.reactivestreams.Publisher<com.fasterxml.jackson.databind.JsonNode>, org.reactivestreams.Subscriber<byte[]>

    public class JacksonProcessor
    extends io.micronaut.core.async.processor.SingleThreadedBufferingProcessor<byte[],​com.fasterxml.jackson.databind.JsonNode>
    A Reactive streams publisher that publishes a JsonNode once the JSON has been fully consumed. Uses NonBlockingJsonParser internally allowing the parsing of JSON from an incoming stream of bytes in a non-blocking manner
    Since:
    1.0
    • Nested Class Summary

      • Nested classes/interfaces inherited from class io.micronaut.core.async.subscriber.SingleThreadedBufferingSubscriber

        io.micronaut.core.async.subscriber.SingleThreadedBufferingSubscriber.BackPressureState, io.micronaut.core.async.subscriber.SingleThreadedBufferingSubscriber.DownstreamSubscription
    • Field Summary

      • Fields inherited from class io.micronaut.core.async.subscriber.SingleThreadedBufferingSubscriber

        upstreamBuffer, upstreamDemand, upstreamState, upstreamSubscription
    • Constructor Summary

      Constructors 
      Constructor Description
      JacksonProcessor()
      Default constructor.
      JacksonProcessor​(com.fasterxml.jackson.core.JsonFactory jsonFactory)
      Construct with given JSON factory.
      JacksonProcessor​(com.fasterxml.jackson.core.JsonFactory jsonFactory, boolean streamArray)
      Creates a new JacksonProcessor.
      JacksonProcessor​(com.fasterxml.jackson.core.JsonFactory jsonFactory, boolean streamArray, com.fasterxml.jackson.databind.DeserializationConfig deserializationConfig)
      Creates a new JacksonProcessor.
      JacksonProcessor​(com.fasterxml.jackson.core.JsonFactory jsonFactory, com.fasterxml.jackson.databind.DeserializationConfig deserializationConfig)
      Construct with given JSON factory.
      JacksonProcessor​(com.fasterxml.jackson.databind.DeserializationConfig deserializationConfig)
      Construct with default JSON factory.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected void doOnComplete()  
      boolean needMoreInput()  
      protected void onUpstreamMessage​(byte[] message)  
      • Methods inherited from class io.micronaut.core.async.processor.SingleThreadedBufferingProcessor

        currentDownstreamSubscriber, doOnError, doOnNext, doOnSubscribe, getDownstreamSubscriber, subscribe, subscribeDownstream
      • Methods inherited from class io.micronaut.core.async.subscriber.SingleThreadedBufferingSubscriber

        newDownstreamSubscription, onComplete, onError, onNext, onSubscribe, provideDownstreamSubscription
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface org.reactivestreams.Subscriber

        onComplete, onError, onNext, onSubscribe
    • Constructor Detail

      • JacksonProcessor

        public JacksonProcessor​(com.fasterxml.jackson.core.JsonFactory jsonFactory,
                                boolean streamArray,
                                @Nullable
                                com.fasterxml.jackson.databind.DeserializationConfig deserializationConfig)
        Creates a new JacksonProcessor.
        Parameters:
        jsonFactory - The JSON factory
        streamArray - Whether arrays should be streamed
        deserializationConfig - The jackson deserialization configuration
      • JacksonProcessor

        public JacksonProcessor​(com.fasterxml.jackson.core.JsonFactory jsonFactory,
                                boolean streamArray)
        Creates a new JacksonProcessor.
        Parameters:
        jsonFactory - The JSON factory
        streamArray - Whether arrays should be streamed
      • JacksonProcessor

        public JacksonProcessor​(com.fasterxml.jackson.core.JsonFactory jsonFactory,
                                com.fasterxml.jackson.databind.DeserializationConfig deserializationConfig)
        Construct with given JSON factory.
        Parameters:
        jsonFactory - To configure and construct reader (aka parser, JsonParser) and writer (aka generator, JsonGenerator) instances.
        deserializationConfig - The jackson deserialization configuration
      • JacksonProcessor

        public JacksonProcessor​(com.fasterxml.jackson.core.JsonFactory jsonFactory)
        Construct with given JSON factory.
        Parameters:
        jsonFactory - To configure and construct reader (aka parser, JsonParser) and writer (aka generator, JsonGenerator) instances.
      • JacksonProcessor

        public JacksonProcessor​(com.fasterxml.jackson.databind.DeserializationConfig deserializationConfig)
        Construct with default JSON factory.
        Parameters:
        deserializationConfig - The jackson deserialization configuration
      • JacksonProcessor

        public JacksonProcessor()
        Default constructor.
    • Method Detail

      • needMoreInput

        public boolean needMoreInput()
        Returns:
        Whether more input is needed
      • doOnComplete

        protected void doOnComplete()
        Overrides:
        doOnComplete in class io.micronaut.core.async.processor.SingleThreadedBufferingProcessor<byte[],​com.fasterxml.jackson.databind.JsonNode>
      • onUpstreamMessage

        protected void onUpstreamMessage​(byte[] message)
        Specified by:
        onUpstreamMessage in class io.micronaut.core.async.processor.SingleThreadedBufferingProcessor<byte[],​com.fasterxml.jackson.databind.JsonNode>