Package org.reactfx
Class AwaitLatest<T,F>
- java.lang.Object
-
- org.reactfx.ObservableBase<java.util.function.Consumer<? super T>,T>
-
- org.reactfx.EventStreamBase<Try<T>>
-
- org.reactfx.AwaitLatest<T,F>
-
- All Implemented Interfaces:
AwaitingEventStream<Try<T>>
,EventStream<Try<T>>
,Observable<java.util.function.Consumer<? super Try<T>>>
,ProperEventStream<Try<T>>
,ProperObservable<java.util.function.Consumer<? super Try<T>>,Try<T>>
class AwaitLatest<T,F> extends EventStreamBase<Try<T>> implements AwaitingEventStream<Try<T>>
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.function.BiConsumer<F,TriConsumer<T,java.lang.Throwable,java.lang.Boolean>>
addCompletionHandler
private EventStream<?>
cancelImpulse
private java.util.function.Consumer<F>
canceller
private F
expectedFuture
private javafx.beans.binding.BooleanBinding
pending
private long
revision
private EventStream<F>
source
-
Constructor Summary
Constructors Modifier Constructor Description private
AwaitLatest(EventStream<F> source, EventStream<?> cancelImpulse, java.util.function.Consumer<F> canceller, java.util.function.BiConsumer<F,TriConsumer<T,java.lang.Throwable,java.lang.Boolean>> addCompletionHandler)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static <T> AwaitingEventStream<Try<T>>
awaitCompletionStage(EventStream<java.util.concurrent.CompletionStage<T>> source, java.util.concurrent.Executor clientThreadExecutor)
static <T> AwaitingEventStream<Try<T>>
awaitCompletionStage(EventStream<java.util.concurrent.CompletionStage<T>> source, EventStream<?> cancelImpulse, java.util.concurrent.Executor clientThreadExecutor)
static <T> AwaitingEventStream<Try<T>>
awaitTask(EventStream<javafx.concurrent.Task<T>> source)
static <T> AwaitingEventStream<Try<T>>
awaitTask(EventStream<javafx.concurrent.Task<T>> source, EventStream<?> cancelImpulse)
boolean
isPending()
protected Subscription
observeInputs()
Starts observing this observable's input(s), if any.javafx.beans.value.ObservableBooleanValue
pendingProperty()
Indicates whether there is a pending event that will be emitted by this stream in the (near) future.private long
replaceExpected(F newExpected)
private void
setExpected(F newExpected)
-
Methods inherited from class org.reactfx.ObservableBase
addObserver, enqueueNotifications, equals, forEachObserver, getObserverCount, hashCode, isObservingInputs, newObserver, notifyObservers, notifyObservers, observe, removeObserver, toString
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.reactfx.EventStream
accumulate, accumulate, accumulate, accumulateBetween, accumulateBetween, accumulateUntilLater, accumulateUntilLater, accumulateUntilLater, accumulateUntilLater, accumulateWhen, accumulateWhen, accumulative, accumulative, cast, conditionOn, conditionOnShowing, distinct, emitBothOnEach, emitOn, emitOnEach, feedTo, feedTo, filter, filter, filterMap, filterMap, flatMap, forgetful, fork, guardedBy, hook, latestN, map, mapToCompletionStage, mapToTask, onRecurseAccumulate, onRecurseAccumulate, onRecurseQueue, onRecurseReduce, onRecurseRetainLatest, or, pausable, pauseWhen, pin, queueBetween, queueUntilLater, queueUntilLater, reduceBetween, reduceSuccessions, reduceSuccessions, reduceSuccessions, reduceSuccessions, reduceSuccessions, reduceSuccessions, reduceUntilLater, reduceUntilLater, reduceWhen, reducible, repeatOn, retainLatestBetween, retainLatestUntilLater, retainLatestUntilLater, retainLatestWhen, splitBy, subscribe, subscribeFor, subscribeForOne, successionEnds, successionEnds, supply, supply, supplyCompletionStage, supplyTask, suppressible, suppressWhen, suspenderOf, thenAccumulateFor, thenAccumulateFor, thenAccumulateFor, thenAccumulateFor, thenIgnoreFor, thenIgnoreFor, thenReduceFor, thenReduceFor, thenRetainLatestFor, thenRetainLatestFor, threadBridge, threadBridgeFromFx, threadBridgeToFx, toBinding, withDefaultEvent
-
Methods inherited from interface org.reactfx.Observable
addObserver, observe, removeObserver
-
Methods inherited from interface org.reactfx.ProperEventStream
defaultNotificationAccumulator, emit
-
Methods inherited from interface org.reactfx.ProperObservable
defaultEquals, defaultHashCode, defaultToString, notifyObservers
-
-
-
-
Field Detail
-
source
private final EventStream<F> source
-
cancelImpulse
private final EventStream<?> cancelImpulse
-
canceller
private final java.util.function.Consumer<F> canceller
-
addCompletionHandler
private final java.util.function.BiConsumer<F,TriConsumer<T,java.lang.Throwable,java.lang.Boolean>> addCompletionHandler
-
revision
private long revision
-
expectedFuture
private F expectedFuture
-
pending
private javafx.beans.binding.BooleanBinding pending
-
-
Constructor Detail
-
AwaitLatest
private AwaitLatest(EventStream<F> source, EventStream<?> cancelImpulse, java.util.function.Consumer<F> canceller, java.util.function.BiConsumer<F,TriConsumer<T,java.lang.Throwable,java.lang.Boolean>> addCompletionHandler)
-
-
Method Detail
-
awaitCompletionStage
public static <T> AwaitingEventStream<Try<T>> awaitCompletionStage(EventStream<java.util.concurrent.CompletionStage<T>> source, java.util.concurrent.Executor clientThreadExecutor)
-
awaitTask
public static <T> AwaitingEventStream<Try<T>> awaitTask(EventStream<javafx.concurrent.Task<T>> source)
-
awaitCompletionStage
public static <T> AwaitingEventStream<Try<T>> awaitCompletionStage(EventStream<java.util.concurrent.CompletionStage<T>> source, EventStream<?> cancelImpulse, java.util.concurrent.Executor clientThreadExecutor)
-
awaitTask
public static <T> AwaitingEventStream<Try<T>> awaitTask(EventStream<javafx.concurrent.Task<T>> source, EventStream<?> cancelImpulse)
-
pendingProperty
public javafx.beans.value.ObservableBooleanValue pendingProperty()
Description copied from interface:AwaitingEventStream
Indicates whether there is a pending event that will be emitted by this stream in the (near) future. This may mean that an event has occurred that causes this stream to emit an event with some delay, e.g. waiting for a timer or completion of an asynchronous task.- Specified by:
pendingProperty
in interfaceAwaitingEventStream<T>
-
isPending
public boolean isPending()
- Specified by:
isPending
in interfaceAwaitingEventStream<T>
-
observeInputs
protected Subscription observeInputs()
Description copied from class:ObservableBase
Starts observing this observable's input(s), if any. This method is called when the number of observers goes from 0 to 1. This method is called beforeObservableBase.newObserver(Object)
is called for the first observer.- Specified by:
observeInputs
in classObservableBase<java.util.function.Consumer<? super Try<T>>,Try<T>>
- Returns:
- subscription used to stop observing inputs. The subscription is unsubscribed (i.e. input observation stops) when the number of observers goes down to 0.
-
replaceExpected
private final long replaceExpected(F newExpected)
-
setExpected
private void setExpected(F newExpected)
-
-