Interface Disposable
- All Known Subinterfaces:
QueueDisposable<T>
- All Known Implementing Classes:
CompositeDisposable, DisposableCompletableObserver, DisposableMaybeObserver, DisposableObserver, DisposableSingleObserver, DisposableSubscriber, ResourceCompletableObserver, ResourceMaybeObserver, ResourceObserver, ResourceSingleObserver, ResourceSubscriber, SafeObserver, Scheduler.Worker, SerialDisposable, SerializedObserver, TestObserver
public interface Disposable
Represents a disposable resource.
-
Method Summary
Modifier and TypeMethodDescriptionvoiddispose()Dispose the resource, the operation should be idempotent.static @NonNull Disposabledisposed()Returns a shared, disposedDisposableinstance.static @NonNull Disposableempty()Returns a new, non-disposedDisposableinstance.static @NonNull DisposablefromAction(@NonNull Action action) Construct aDisposableby wrapping aActionthat is executed exactly once when theDisposableis disposed.static @NonNull DisposablefromAutoCloseable(@NonNull AutoCloseable autoCloseable) Construct aDisposableby wrapping anAutoCloseablethat is closed exactly once when theDisposableis disposed.static @NonNull DisposablefromFuture(@NonNull Future<?> future) Construct aDisposableby wrapping aFuturethat is cancelled exactly once when theDisposableis disposed.static @NonNull DisposablefromFuture(@NonNull Future<?> future, boolean allowInterrupt) Construct aDisposableby wrapping aFuturethat is cancelled exactly once when theDisposableis disposed.static @NonNull DisposablefromRunnable(@NonNull Runnable run) Construct aDisposableby wrapping aRunnablethat is executed exactly once when theDisposableis disposed.static @NonNull DisposablefromSubscription(@NonNull Flow.Subscription subscription) Construct aDisposableby wrapping aFlow.Subscriptionthat is cancelled exactly once when theDisposableis disposed.booleanReturns true if this resource has been disposed.static @NonNull AutoCloseabletoAutoCloseable(@NonNull Disposable disposable) Construct anAutoCloseableby wrapping aDisposablethat is disposed when the returnedAutoCloseableis closed.
-
Method Details
-
dispose
void dispose()Dispose the resource, the operation should be idempotent. -
isDisposed
boolean isDisposed()Returns true if this resource has been disposed.- Returns:
- true if this resource has been disposed
-
fromRunnable
Construct aDisposableby wrapping aRunnablethat is executed exactly once when theDisposableis disposed.- Parameters:
run- theRunnableto wrap- Returns:
- the new
Disposableinstance - Throws:
NullPointerException- ifrunisnull- Since:
- 3.0.0
-
fromAction
Construct aDisposableby wrapping aActionthat is executed exactly once when theDisposableis disposed.- Parameters:
action- theActionto wrap- Returns:
- the new
Disposableinstance - Throws:
NullPointerException- ifactionisnull- Since:
- 3.0.0
-
fromFuture
Construct aDisposableby wrapping aFuturethat is cancelled exactly once when theDisposableis disposed.The
Futureis cancelled withmayInterruptIfRunning == true.- Parameters:
future- theFutureto wrap- Returns:
- the new
Disposableinstance - Throws:
NullPointerException- iffutureisnull- Since:
- 3.0.0
- See Also:
-
fromFuture
@NonNull static @NonNull Disposable fromFuture(@NonNull @NonNull Future<?> future, boolean allowInterrupt) Construct aDisposableby wrapping aFuturethat is cancelled exactly once when theDisposableis disposed.- Parameters:
future- theFutureto wrapallowInterrupt- if true, the future cancel happens viaFuture.cancel(true)- Returns:
- the new
Disposableinstance - Throws:
NullPointerException- iffutureisnull- Since:
- 3.0.0
-
fromSubscription
@NonNull static @NonNull Disposable fromSubscription(@NonNull @NonNull Flow.Subscription subscription) Construct aDisposableby wrapping aFlow.Subscriptionthat is cancelled exactly once when theDisposableis disposed.- Parameters:
subscription- theRunnableto wrap- Returns:
- the new
Disposableinstance - Throws:
NullPointerException- ifsubscriptionisnull- Since:
- 3.0.0
-
fromAutoCloseable
@NonNull static @NonNull Disposable fromAutoCloseable(@NonNull @NonNull AutoCloseable autoCloseable) Construct aDisposableby wrapping anAutoCloseablethat is closed exactly once when theDisposableis disposed.- Parameters:
autoCloseable- theAutoCloseableto wrap- Returns:
- the new
Disposableinstance - Throws:
NullPointerException- ifautoCloseableisnull- Since:
- 3.0.0
-
toAutoCloseable
Construct anAutoCloseableby wrapping aDisposablethat is disposed when the returnedAutoCloseableis closed.- Parameters:
disposable- theDisposableinstance- Returns:
- the new
AutoCloseableinstance - Throws:
NullPointerException- ifdisposableisnull- Since:
- 3.0.0
-
empty
Returns a new, non-disposedDisposableinstance.- Returns:
- a new, non-disposed
Disposableinstance - Since:
- 3.0.0
-
disposed
Returns a shared, disposedDisposableinstance.- Returns:
- a shared, disposed
Disposableinstance - Since:
- 3.0.0
-