Package org.reactfx
Class ThenAccumulateForStream<T,A>
- java.lang.Object
-
- org.reactfx.ObservableBase<java.util.function.Consumer<? super T>,T>
-
- org.reactfx.EventStreamBase<T>
-
- org.reactfx.ThenAccumulateForStream<T,A>
-
- All Implemented Interfaces:
AwaitingEventStream<T>,EventStream<T>,Observable<java.util.function.Consumer<? super T>>,ProperEventStream<T>,ProperObservable<java.util.function.Consumer<? super T>,T>
class ThenAccumulateForStream<T,A> extends EventStreamBase<T> implements AwaitingEventStream<T>
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classThenAccumulateForStream.State
-
Field Summary
Fields Modifier and Type Field Description private Aaccprivate java.util.function.Function<? super A,java.util.List<T>>deconstructionprivate java.util.function.Function<? super T,? extends A>initialprivate EventStream<T>inputprivate javafx.beans.binding.BooleanBindingpendingprivate java.util.function.BiFunction<? super A,? super T,? extends A>reductionprivate ThenAccumulateForStream.Statestateprivate Timertimer
-
Constructor Summary
Constructors Constructor Description ThenAccumulateForStream(EventStream<T> input, java.util.function.Function<? super T,? extends A> initial, java.util.function.BiFunction<? super A,? super T,? extends A> reduction, java.util.function.Function<? super A,java.util.List<T>> deconstruction, java.util.function.Function<java.lang.Runnable,Timer> timerFactory)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidhandleEvent(T t)private voidhandleTimeout()private voidinvalidatePending()booleanisPending()protected SubscriptionobserveInputs()Starts observing this observable's input(s), if any.javafx.beans.value.ObservableBooleanValuependingProperty()Indicates whether there is a pending event that will be emitted by this stream in the (near) future.private voidsetState(ThenAccumulateForStream.State state)-
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
-
input
private final EventStream<T> input
-
deconstruction
private final java.util.function.Function<? super A,java.util.List<T>> deconstruction
-
timer
private final Timer timer
-
state
private ThenAccumulateForStream.State state
-
acc
private A acc
-
pending
private javafx.beans.binding.BooleanBinding pending
-
-
Constructor Detail
-
ThenAccumulateForStream
public ThenAccumulateForStream(EventStream<T> input, java.util.function.Function<? super T,? extends A> initial, java.util.function.BiFunction<? super A,? super T,? extends A> reduction, java.util.function.Function<? super A,java.util.List<T>> deconstruction, java.util.function.Function<java.lang.Runnable,Timer> timerFactory)
-
-
Method Detail
-
pendingProperty
public javafx.beans.value.ObservableBooleanValue pendingProperty()
Description copied from interface:AwaitingEventStreamIndicates 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:
pendingPropertyin interfaceAwaitingEventStream<T>
-
isPending
public boolean isPending()
- Specified by:
isPendingin interfaceAwaitingEventStream<T>
-
observeInputs
protected final Subscription observeInputs()
Description copied from class:ObservableBaseStarts 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:
observeInputsin classObservableBase<java.util.function.Consumer<? super T>,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.
-
handleEvent
private void handleEvent(T t)
-
handleTimeout
private void handleTimeout()
-
setState
private void setState(ThenAccumulateForStream.State state)
-
invalidatePending
private void invalidatePending()
-
-