Top Description Fields Constructors Methods
reactor.core.publisher

pack-priv abstract Class InternalMonoOperator<I, O>

extends MonoOperator<I, O>
implements Scannable, OptimizableOperator<O, I>
Class Inheritance
All Implemented Interfaces
reactor.core.publisher.OptimizableOperator, reactor.core.CorePublisher, org.reactivestreams.Publisher, reactor.core.Scannable
Known Direct Subclasses
reactor.core.publisher.MonoCacheInvalidateIf, reactor.core.publisher.MonoCacheInvalidateWhen, reactor.core.publisher.MonoCacheTime, reactor.core.publisher.MonoCallableOnAssembly, reactor.core.publisher.MonoCancelOn, reactor.core.publisher.MonoContextWrite, reactor.core.publisher.MonoHide, reactor.core.publisher.MonoIgnoreElement, reactor.core.publisher.MonoLift, reactor.core.publisher.MonoLiftFuseable, reactor.core.publisher.MonoLog, reactor.core.publisher.MonoLogFuseable, reactor.core.publisher.MonoMap, reactor.core.publisher.MonoMapFuseable, reactor.core.publisher.MonoMaterialize, reactor.core.publisher.MonoMetrics, reactor.core.publisher.MonoMetricsFuseable, reactor.core.publisher.MonoSingleMono, reactor.core.publisher.MonoSingleOptional, reactor.core.publisher.MonoSubscribeOn, reactor.core.publisher.MonoSwitchIfEmpty, reactor.core.publisher.MonoTakeUntilOther, reactor.core.publisher.MonoTap, reactor.core.publisher.MonoDefaultIfEmpty, reactor.core.publisher.MonoDelayElement, reactor.core.publisher.MonoDelaySubscription, reactor.core.publisher.MonoDematerialize, reactor.core.publisher.MonoDetach, reactor.core.publisher.MonoDoFinally, reactor.core.publisher.MonoDoFirst, reactor.core.publisher.MonoDoFirstFuseable, reactor.core.publisher.MonoDoOnEach, reactor.core.publisher.MonoDoOnEachFuseable, reactor.core.publisher.MonoElapsed, reactor.core.publisher.MonoFilter, reactor.core.publisher.MonoFilterFuseable, reactor.core.publisher.MonoFilterWhen, reactor.core.publisher.MonoFlatMap, reactor.core.publisher.MonoHandle, reactor.core.publisher.MonoHandleFuseable, reactor.core.publisher.MonoTimed, reactor.core.publisher.MonoTimeout, reactor.core.publisher.MonoHasElement, reactor.core.publisher.MonoName, reactor.core.publisher.MonoTapFuseable, reactor.core.publisher.MonoNameFuseable, reactor.core.publisher.MonoOnAssembly, reactor.core.publisher.MonoOnErrorResume, reactor.core.publisher.MonoOnErrorReturn, reactor.core.publisher.MonoPeek, reactor.core.publisher.MonoPeekFuseable, reactor.core.publisher.MonoPeekTerminal, reactor.core.publisher.MonoPublishMulticast, reactor.core.publisher.MonoPublishOn, reactor.core.publisher.MonoRetry, reactor.core.publisher.MonoRetryWhen
Type Parameters
<I>
delegate Publisher type
<O>
produced type
Imports
org.reactivestreams.Publisher, reactor.core.CorePublisher, .CoreSubscriber, .Scannable, reactor.util.annotation.Nullable

A decorating Mono Publisher that exposes Mono API over an arbitrary Publisher Useful to create operators which return a Mono.

Field Summary

Modifier and TypeField and Description
pack-priv final OptimizableOperator<?, I>
Inherited from reactor.core.publisher.MonoOperator:
source

Constructor Summary

AccessConstructor and Description
protected
InternalMonoOperator(Mono<? extends I> source)

Method Summary

Modifier and TypeMethod and Description
public final OptimizableOperator<?, ? extends I>
nextOptimizableSource()

Implements reactor.core.publisher.OptimizableOperator.nextOptimizableSource.

Allow delegation of the subscription by returning the next OptimizableOperator UP in the chain, to be subscribed to next.
public Object
scanUnsafe(Scannable.Attr<T>
a Attr to resolve for the component.
key
)

Overrides reactor.core.publisher.MonoOperator.scanUnsafe.

Implements reactor.core.Scannable.scanUnsafe.

This method is used internally by components to define their key-value mappings in a single place.
public final CorePublisher<? extends I>
public final void
subscribe(CoreSubscriber<? super O>
the Subscriber interested into the published sequence
subscriber
)

Implements abstract reactor.core.publisher.Mono.subscribe.

Implements reactor.core.CorePublisher.subscribe.

An internal Publisher#subscribe(Subscriber) that will bypass Hooks#onLastOperator(Function) pointcut.
public abstract CoreSubscriber<? super I>
subscribeOrReturn(CoreSubscriber<? super O> actual)

Redeclares reactor.core.publisher.OptimizableOperator.subscribeOrReturn.

Allow delegation of the subscription by returning a CoreSubscriber, or force subscription encapsulation by returning null.

Field Detail

optimizableOperatorback to summary
pack-priv final OptimizableOperator<?, I> optimizableOperator
Annotations
@Nullable

Constructor Detail

InternalMonoOperatorback to summary
protected InternalMonoOperator(Mono<? extends I> source)

Method Detail

nextOptimizableSourceback to summary
public final OptimizableOperator<?, ? extends I> nextOptimizableSource()

Implements reactor.core.publisher.OptimizableOperator.nextOptimizableSource.

Doc from reactor.core.publisher.OptimizableOperator.nextOptimizableSource.

Allow delegation of the subscription by returning the next OptimizableOperator UP in the chain, to be subscribed to next. This method MUST return a non-null value if the subscribeOrReturn(CoreSubscriber) method returned a non null value. In that case, this next operator can be used in conjunction with subscribeOrReturn(CoreSubscriber) to perform subscription in a loop instead of by recursion.

Returns:OptimizableOperator<?, ? extends I>

next OptimizableOperator if subscribeOrReturn(CoreSubscriber) have returned non-null result

Annotations
@Override
scanUnsafeback to summary
public Object scanUnsafe(Scannable.Attr<T> key)

Overrides reactor.core.publisher.MonoOperator.scanUnsafe.

Implements reactor.core.Scannable.scanUnsafe.

Doc from reactor.core.Scannable.scanUnsafe.

This method is used internally by components to define their key-value mappings in a single place. Although it is ignoring the generic type of the Attr key, implementors should take care to return values of the correct type, and return null if no specific value is available.

For public consumption of attributes, prefer using scan(Attr), which will return a typed value and fall back to the key's default if the component didn't define any mapping.

Parameters
key:Scannable.Attr<T>

a Attr to resolve for the component.

Returns:Object

the value associated to the key for that specific component, or null if none.

Annotations
@Override
sourceback to summary
public final CorePublisher<? extends I> source()

Implements reactor.core.publisher.OptimizableOperator.source.

Returns:CorePublisher<? extends I>

Doc from reactor.core.publisher.OptimizableOperator.source.

CorePublisher to call CorePublisher#subscribe(CoreSubscriber) on if nextOptimizableSource() have returned null result

Annotations
@Override
subscribeback to summary
public final void subscribe(CoreSubscriber<? super O> subscriber)

Implements abstract reactor.core.publisher.Mono.subscribe.

Implements reactor.core.CorePublisher.subscribe.

Doc from reactor.core.CorePublisher.subscribe.

An internal Publisher#subscribe(Subscriber) that will bypass Hooks#onLastOperator(Function) pointcut.

In addition to behave as expected by Publisher#subscribe(Subscriber) in a controlled manner, it supports direct subscribe-time Context passing.

Parameters
subscriber:CoreSubscriber<? super O>

the Subscriber interested into the published sequence

Annotations
@Override
@SuppressWarnings:unchecked
subscribeOrReturnback to summary
public abstract CoreSubscriber<? super I> subscribeOrReturn(CoreSubscriber<? super O> actual) throws Throwable

Redeclares reactor.core.publisher.OptimizableOperator.subscribeOrReturn.

Doc from reactor.core.publisher.OptimizableOperator.subscribeOrReturn.

Allow delegation of the subscription by returning a CoreSubscriber, or force subscription encapsulation by returning null. This can be used in conjunction with nextOptimizableSource() to perform subscription in a loop instead of by recursion.

Returns:CoreSubscriber<? super I>

next CoreSubscriber or "null" if the subscription was already done inside the method

Annotations
@Nullable