Class JacksonCoreProcessor

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

    @Internal
    public class JacksonCoreProcessor
    extends io.micronaut.core.async.processor.SingleThreadedBufferingProcessor<byte[],​io.micronaut.json.tree.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
      JacksonCoreProcessor​(boolean streamArray, com.fasterxml.jackson.core.JsonFactory jsonFactory, io.micronaut.json.JsonStreamConfig deserializationConfig)
      Creates a new JacksonProcessor.
    • 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

      • JacksonCoreProcessor

        public JacksonCoreProcessor​(boolean streamArray,
                                    com.fasterxml.jackson.core.JsonFactory jsonFactory,
                                    @NonNull
                                    io.micronaut.json.JsonStreamConfig deserializationConfig)
        Creates a new JacksonProcessor.
        Parameters:
        streamArray - Whether arrays should be streamed
        jsonFactory - Factory to use for creating the parser
        deserializationConfig - The deserialization configuration (in particular bignum handling)
    • 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[],​io.micronaut.json.tree.JsonNode>
      • onUpstreamMessage

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