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[],io.micronaut.json.tree.JsonNode>
io.micronaut.jackson.core.parser.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
ConstructorsConstructorDescriptionJacksonCoreProcessor(boolean streamArray, com.fasterxml.jackson.core.JsonFactory jsonFactory, @NonNull io.micronaut.json.JsonStreamConfig deserializationConfig) Creates a new JacksonProcessor. -
Method Summary
Modifier and TypeMethodDescriptionprotected voidbooleanprotected voidonUpstreamMessage(byte[] message) Methods inherited from class io.micronaut.core.async.processor.SingleThreadedBufferingProcessor
currentDownstreamSubscriber, doOnError, doOnNext, doOnSubscribe, getDownstreamSubscriber, subscribe, subscribeDownstreamMethods inherited from class io.micronaut.core.async.subscriber.SingleThreadedBufferingSubscriber
newDownstreamSubscription, onComplete, onError, onNext, onSubscribe, provideDownstreamSubscriptionMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods 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 io.micronaut.json.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()- Overrides:
doOnCompletein classio.micronaut.core.async.processor.SingleThreadedBufferingProcessor<byte[],io.micronaut.json.tree.JsonNode>
-
onUpstreamMessage
protected void onUpstreamMessage(byte[] message) - Specified by:
onUpstreamMessagein classio.micronaut.core.async.processor.SingleThreadedBufferingProcessor<byte[],io.micronaut.json.tree.JsonNode>
-