Package org.reactfx
Interface Suspendable
- All Known Subinterfaces:
SuspendableEventStream<T>
,SuspendableList<E>
,SuspendableVal<T>
,SuspendableVar<T>
,Toggle
- All Known Implementing Classes:
AbstractReducibleEventStream
,AccumulativeEventStream
,BiSuspendable
,ForgetfulEventStream
,MultiSuspendable
,PausableEventStream
,ReducibleEventStream
,SuppressibleEventStream
,SuspendableBase
,SuspendableBoolean
,SuspendableEventStreamBase
,SuspendableListWrapper
,SuspendableNo
,SuspendableValWrapper
,SuspendableVarWrapper
,SuspendableYes
,ToggleFromVal
public interface Suspendable
Interface for objects that can be temporarily suspended, where the
definition of "suspended" depends on the context. For example, when an
Observable
is Suspendable, it means that its
notification delivery can be suspended temporarily. In that case, what
notifications are delivered when notifications are resumed depends on the
concrete implementation. For example, notifications produced while suspended
may be queued, accumulated, or ignored completely.-
Method Summary
Modifier and TypeMethodDescriptionstatic Suspendable
combine
(Suspendable... suspendables) Returns a Suspendable that combines all the given Suspendables into one.suspend()
Suspends this suspendable object.default Subscription
suspendWhen
(javafx.beans.value.ObservableValue<Boolean> condition) default void
Runs the given computation while suspended.default <U> U
suspendWhile
(Supplier<U> f) Runs the given computation while suspended.
-
Method Details
-
suspend
Guard suspend()Suspends this suspendable object.In case of suspendable
Observable
, suspends notification delivery for this observable object. Notifications produced while suspended may be queued for later delivery, accumulated into a single cumulative notification, or discarded completely, depending on the concrete implementation. -
suspendWhile
Runs the given computation while suspended.Equivalent to
try(Guard g = suspend()) { r.run(); }
-
suspendWhile
Runs the given computation while suspended. The codeT t = this.suspendWhile(f);
is equivalent toT t; try(Guard g = suspend()) { t = f.get(); }
- Returns:
- the result produced by the given supplier
f
.
-
suspendWhen
- Returns:
- A Subscription that can be used to stop observing
condition
and stop suspending this Suspendable based oncondition
. If at the time of unsubscribing the returned Subscription this Suspendable was suspended due tocondition
beingtrue
, it will be resumed.
-
combine
Returns a Suspendable that combines all the given Suspendables into one. When that combined Suspendable is suspended, all participating Suspendables are suspended, in the given order. When resumed, all participating Suspendables are resumed, in reverse order.
-