Top Description Fields Constructors Methods
reactor.core.publisher

pack-priv final Class MonoSource<I>

extends Mono<I>
implements Scannable, SourceProducer<I>, OptimizableOperator<I, I>
Class Inheritance
All Implemented Interfaces
reactor.core.publisher.OptimizableOperator, reactor.core.CorePublisher, org.reactivestreams.Publisher, reactor.core.publisher.SourceProducer, reactor.core.Scannable
Type Parameters
<I>
delegate Publisher type
Imports
java.util.Objects, io.micrometer.context.ContextSnapshot, org.reactivestreams.Publisher, .Subscription, reactor.core.CorePublisher, .CoreSubscriber, .Scannable, reactor.util.annotation.Nullable, reactor.util.context.Context

A decorating Mono Publisher that exposes Mono API over an arbitrary Publisher Useful to create operators which return a Mono, e.g. : flux.as(Mono::fromDirect) .then(d -> Mono.delay(Duration.ofSeconds(1)) .block();

Field Summary

Modifier and TypeField and Description
pack-priv final OptimizableOperator<?, I>
pack-priv final Publisher<? extends I>
Inherited from reactor.core.publisher.Mono:
EQUALS_BIPREDICATE

Constructor Summary

AccessConstructor and Description
pack-priv
MonoSource(Publisher<? 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 default reactor.core.publisher.SourceProducer.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 void
subscribe(CoreSubscriber<? super I> actual)

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

Implements reactor.core.CorePublisher.subscribe.

Default is simply delegating and decorating with Mono API.
public CoreSubscriber<? super I>
subscribeOrReturn(CoreSubscriber<? super I> actual)

Implements reactor.core.publisher.OptimizableOperator.subscribeOrReturn.

Allow delegation of the subscription by returning a CoreSubscriber, or force subscription encapsulation by returning null.
Inherited from reactor.core.publisher.Mono:
andasblockblockblockOptionalblockOptionalcachecachecachecachecachecacheInvalidateIfcacheInvalidateWhencacheInvalidateWhencancelOncastcheckpointcheckpointcheckpointconcatWithcontextCapturecontextWritecontextWritecreatedefaultIfEmptydeferdeferContextualdelaydelaydelayElementdelayElementdelaySubscriptiondelaySubscriptiondelaySubscriptiondelayUntildematerializedoAfterTerminatedoFinallydoFirstdoOnCanceldoOnDiscarddoOnEachdoOnErrordoOnErrordoOnErrordoOnNextdoOnRequestdoOnSignaldoOnSubscribedoOnSuccessdoOnTerminalSignaldoOnTerminateelapsedelapsedemptyemptyequalsBiPredicateerrorerrorexpandexpandexpandDeepexpandDeepfilterfilterWhenfirstfirstfirstWithSignalfirstWithSignalfirstWithValuefirstWithValueflatMapflatMapIterableflatMapManyflatMapManyfluxfromfromCallablefromCompletionStagefromCompletionStagefromDirectfromFuturefromFuturefromFuturefromFuturefromRunnablefromSupplierhandlehasElementhideignoreElementignoreElementsjustjustOrEmptyjustOrEmptyloglogloglogloglogmapmapNotNullmaterializemergeWithmetricsnameneverofTypeonAssemblyonErrorCompleteonErrorCompleteonErrorCompleteonErrorContinueonErrorContinueonErrorContinueonErrorMaponErrorMaponErrorMaponErrorResumeonErrorResumeonErrorResumeonErrorReturnonErrorReturnonErrorReturnonErrorStoponTerminateDetachorpublishpublishOnrepeatrepeatrepeatrepeatrepeatWhenrepeatWhenEmptyrepeatWhenEmptyretryretryretryWhensequenceEqualsequenceEqualsequenceEqualsharesinglesingleOptionalsubscribesubscribesubscribesubscribesubscribesubscribesubscribesubscribeOnsubscribeWithswitchIfEmptytagtaketaketakeUntilOthertaptaptapthenthenthenEmptythenManythenReturntimedtimedtimeouttimeouttimeouttimeouttimeouttimeouttimestamptimestamptoFuturetoStringtransformtransformDeferredtransformDeferredContextualusingusingusingWhenusingWhenwhenwhenwhenDelayErrorwhenDelayErrorwrapzipzipzipzipzipzipzipzipzipzipzipDelayErrorzipDelayErrorzipDelayErrorzipDelayErrorzipDelayErrorzipDelayErrorzipDelayErrorzipDelayErrorzipDelayErrorzipWhenzipWhenzipWithzipWith

Field Detail

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

Constructor Detail

MonoSourceback to summary
pack-priv MonoSource(Publisher<? 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 default reactor.core.publisher.SourceProducer.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
@Nullable
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 void subscribe(CoreSubscriber<? super I> actual)

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

Implements reactor.core.CorePublisher.subscribe.

Default is simply delegating and decorating with Mono API. Note this assumes an identity between input and output types.

Annotations
@Override
subscribeOrReturnback to summary
public CoreSubscriber<? super I> subscribeOrReturn(CoreSubscriber<? super I> actual)

Implements 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
@Override