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 Suspendablecombine(Suspendable... suspendables) Returns a Suspendable that combines all the given Suspendables into one.suspend()Suspends this suspendable object.default SubscriptionsuspendWhen(javafx.beans.value.ObservableValue<Boolean> condition) default voidRuns the given computation while suspended.default <U> UsuspendWhile(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
conditionand stop suspending this Suspendable based oncondition. If at the time of unsubscribing the returned Subscription this Suspendable was suspended due toconditionbeingtrue, 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.
-