Top Fields Constructors Methods
reactor.core.publisher

pack-priv abstract Class InternalConnectableFluxOperator<I, O>

extends ConnectableFlux<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.ConnectableFluxHide, reactor.core.publisher.ConnectableFluxOnAssembly, reactor.core.publisher.ConnectableLift, reactor.core.publisher.ConnectableLiftFuseable
Imports
reactor.core.CorePublisher, .CoreSubscriber, .Scannable, reactor.util.annotation.Nullable

Field Summary

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

Constructor Summary

AccessConstructor and Description
public
InternalConnectableFluxOperator(ConnectableFlux<I>
the ConnectableFlux to decorate
source
)

Build an InternalConnectableFluxOperator wrapper around the passed parent ConnectableFlux

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
)

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.Flux.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.
Inherited from reactor.core.publisher.ConnectableFlux:
autoConnectautoConnectautoConnectconnectconnecthiderefCountrefCountrefCountrefCount

Field Detail

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

Constructor Detail

InternalConnectableFluxOperatorback to summary
public InternalConnectableFluxOperator(ConnectableFlux<I> source)

Build an InternalConnectableFluxOperator wrapper around the passed parent ConnectableFlux

Parameters
source:ConnectableFlux<I>

the ConnectableFlux to decorate

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)

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 final void subscribe(CoreSubscriber<? super O> subscriber)

Implements abstract reactor.core.publisher.Flux.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
@Override
@Nullable