Top Description Fields Constructors Methods
reactor.core.publisher

pack-priv final Class FluxDoFirst<T>

extends InternalFluxOperator<T, T>
Class Inheritance
Type Parameters
<T>
the value type
Imports
org.reactivestreams.Subscriber, reactor.core.CoreSubscriber

Hook into the org.reactivestreams.Publisher#subscribe(Subscriber) of a Flux and execute a provided callback before calling org.reactivestreams.Publisher#subscribe(Subscriber) directly with the CoreSubscriber.

Note that any exceptions thrown by the hook short circuit the subscription process and are forwarded to the Subscriber's Subscriber#onError(Throwable) method.

Author
Simon Baslé

Field Summary

Modifier and TypeField and Description
pack-priv final Runnable
Inherited from reactor.core.publisher.InternalFluxOperator:
optimizableOperator

Constructor Summary

AccessConstructor and Description
pack-priv
FluxDoFirst(Flux<? extends T> source, Runnable onFirst)

Method Summary

Modifier and TypeMethod and Description
public Object
scanUnsafe(Scannable.Attr<T>
a Attr to resolve for the component.
key
)

Overrides reactor.core.publisher.InternalFluxOperator.scanUnsafe.

Implements reactor.core.Scannable.scanUnsafe.

This method is used internally by components to define their key-value mappings in a single place.
public CoreSubscriber<? super T>
subscribeOrReturn(CoreSubscriber<? super T> actual)

Implements abstract reactor.core.publisher.InternalFluxOperator.subscribeOrReturn.

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.InternalFluxOperator:
nextOptimizableSourcesourcesubscribe

Field Detail

onFirstback to summary
pack-priv final Runnable onFirst

Constructor Detail

FluxDoFirstback to summary
pack-priv FluxDoFirst(Flux<? extends T> source, Runnable onFirst)

Method Detail

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

Overrides reactor.core.publisher.InternalFluxOperator.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
subscribeOrReturnback to summary
public CoreSubscriber<? super T> subscribeOrReturn(CoreSubscriber<? super T> actual)

Implements abstract reactor.core.publisher.InternalFluxOperator.subscribeOrReturn.

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 T>

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

Annotations
@Override