Package io.micronaut.jackson.core.parser
Class JacksonCoreProcessor
java.lang.Object
io.micronaut.core.async.subscriber.SingleThreadedBufferingSubscriber<R>
io.micronaut.core.async.processor.SingleThreadedBufferingProcessor<byte[],JsonNode>
io.micronaut.jackson.core.parser.JacksonCoreProcessor
- All Implemented Interfaces:
Completable
,Emitter<byte[]>
,Processor<byte[],
,JsonNode> Publisher<JsonNode>
,Subscriber<byte[]>
@Internal
public class JacksonCoreProcessor
extends SingleThreadedBufferingProcessor<byte[],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
- Author:
- Graeme Rocher
-
Nested Class Summary
Nested classes/interfaces inherited from class io.micronaut.core.async.subscriber.SingleThreadedBufferingSubscriber
SingleThreadedBufferingSubscriber.BackPressureState, SingleThreadedBufferingSubscriber.DownstreamSubscription
-
Field Summary
Fields inherited from class io.micronaut.core.async.subscriber.SingleThreadedBufferingSubscriber
upstreamBuffer, upstreamDemand, upstreamState, upstreamSubscription
-
Constructor Summary
ConstructorDescriptionJacksonCoreProcessor
(boolean streamArray, com.fasterxml.jackson.core.JsonFactory jsonFactory, @NonNull JsonStreamConfig deserializationConfig) Creates a new JacksonProcessor. -
Method Summary
Modifier and TypeMethodDescriptionprotected void
ImplementSubscriber.onComplete()
.boolean
protected void
onUpstreamMessage
(byte[] message) Called when a message is received from the upstreamSubscriber
.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 Details
-
JacksonCoreProcessor
public JacksonCoreProcessor(boolean streamArray, com.fasterxml.jackson.core.JsonFactory jsonFactory, @NonNull @NonNull JsonStreamConfig deserializationConfig) Creates a new JacksonProcessor.- Parameters:
streamArray
- Whether arrays should be streamedjsonFactory
- Factory to use for creating the parserdeserializationConfig
- The deserialization configuration (in particular bignum handling)
-
-
Method Details
-
needMoreInput
public boolean needMoreInput()- Returns:
- Whether more input is needed
-
doOnComplete
protected void doOnComplete()Description copied from class:SingleThreadedBufferingSubscriber
ImplementSubscriber.onComplete()
.- Overrides:
doOnComplete
in classSingleThreadedBufferingProcessor<byte[],
JsonNode>
-
onUpstreamMessage
protected void onUpstreamMessage(byte[] message) Description copied from class:SingleThreadedBufferingProcessor
Called when a message is received from the upstreamSubscriber
.- Specified by:
onUpstreamMessage
in classSingleThreadedBufferingProcessor<byte[],
JsonNode> - Parameters:
message
- The message
-