Interface Disposable

All Known Subinterfaces:
QueueDisposable<T>
All Known Implementing Classes:
AbstractDirectTask, AbstractDisposableAutoRelease, AbstractEmptyQueueFuseable, ActionDisposable, ArrayCompositeDisposable, ArrayCompositeSubscription, AsyncSubject.AsyncDisposable, AsyncSubscription, AutoCloseableDisposable, BasicFuseableObserver, BasicIntQueueDisposable, BasicQueueDisposable, BehaviorSubject.BehaviorDisposable, BiConsumerSingleObserver, BlockingBaseObserver, BlockingDisposableMultiObserver, BlockingFirstObserver, BlockingFlowableIterable.BlockingFlowableIterator, BlockingFlowableLatest.LatestSubscriberIterator, BlockingFlowableNext.NextSubscriber, BlockingLastObserver, BlockingObservableIterable.BlockingObservableIterator, BlockingObservableLatest.BlockingObservableLatestIterator, BlockingObservableNext.NextObserver, BlockingObserver, BoundedSubscriber, CallbackCompletableObserver, CancellableDisposable, CancellableQueueFuseable, CompletableAndThenCompletable.SourceObserver, CompletableAndThenObservable.AndThenObservableObserver, CompletableCache.InnerCompletableCache, CompletableConcat.CompletableConcatSubscriber, CompletableCreate.Emitter, CompletableDelay.Delay, CompletableDetach.DetachCompletableObserver, CompletableDisposeOn.DisposeOnObserver, CompletableDoFinally.DoFinallyObserver, CompletableFromCompletionStage.CompletionStageHandler, CompletableFromPublisher.FromPublisherSubscriber, CompletableHide.HideCompletableObserver, CompletableMerge.CompletableMergeSubscriber, CompletableMerge.CompletableMergeSubscriber.MergeInnerObserver, CompletableMergeArray.InnerCompletableObserver, CompletableMergeArrayDelayError.TryTerminateAndReportDisposable, CompletableMergeIterable.MergeCompletableObserver, CompletableObserveOn.ObserveOnCompletableObserver, CompletableOnErrorReturn.OnErrorReturnMaybeObserver, CompletablePeek.CompletableObserverImplementation, CompletableResumeNext.ResumeNextObserver, CompletableSubject.CompletableDisposable, CompletableSubscribeOn.SubscribeOnObserver, CompletableTakeUntilCompletable.TakeUntilMainObserver, CompletableTimer.TimerDisposable, CompletableUsing.UsingObserver, CompositeDisposable, ComputationScheduler.EventLoopWorker, ComputationScheduler.PoolWorker, ConcatMapXMainObserver, ConsumerSingleObserver, DeferredScalarDisposable, DeferredScalarObserver, DisposableAutoReleaseMultiObserver, DisposableAutoReleaseObserver, DisposableAutoReleaseSubscriber, DisposableCompletableObserver, DisposableHelper, DisposableLambdaObserver, DisposableMaybeObserver, DisposableObserver, DisposableSingleObserver, DisposableSubscriber, EmptyCompletableObserver, EmptyComponent, EmptyDisposable, ExecutorScheduler.DelayedRunnable, ExecutorScheduler.ExecutorWorker, ExecutorScheduler.ExecutorWorker.BooleanRunnable, ExecutorScheduler.ExecutorWorker.InterruptibleRunnable, FlowableAllSingle.AllSubscriber, FlowableAnySingle.AnySubscriber, FlowableBufferBoundary.BufferBoundarySubscriber.BufferOpenSubscriber, FlowableBufferBoundary.BufferCloseSubscriber, FlowableBufferExactBoundary.BufferBoundarySubscriber, FlowableBufferExactBoundary.BufferExactBoundarySubscriber, FlowableBufferTimed.BufferExactBoundedSubscriber, FlowableBufferTimed.BufferExactUnboundedSubscriber, FlowableCollectSingle.CollectSubscriber, FlowableCollectWithCollectorSingle.CollectorSingleObserver, FlowableConcatMapCompletable.ConcatMapCompletableObserver, FlowableCountSingle.CountSubscriber, FlowableDebounce.DebounceSubscriber.DebounceInnerSubscriber, FlowableDebounceTimed.DebounceEmitter, FlowableElementAtMaybe.ElementAtSubscriber, FlowableElementAtSingle.ElementAtSubscriber, FlowableFlatMap.InnerSubscriber, FlowableFlatMapCompletable.FlatMapCompletableMainSubscriber.InnerConsumer, FlowableFlatMapCompletableCompletable.FlatMapCompletableMainSubscriber, FlowableFlatMapCompletableCompletable.FlatMapCompletableMainSubscriber.InnerObserver, FlowableFlatMapMaybe.FlatMapMaybeSubscriber.InnerObserver, FlowableFlatMapSingle.FlatMapSingleSubscriber.InnerObserver, FlowableFromCompletable.FromCompletableObserver, FlowableGroupJoin.LeftRightEndSubscriber, FlowableGroupJoin.LeftRightSubscriber, FlowableIgnoreElementsCompletable.IgnoreElementsSubscriber, FlowableLastMaybe.LastSubscriber, FlowableLastSingle.LastSubscriber, FlowablePublish.PublishConnection, FlowableReduceMaybe.ReduceSubscriber, FlowableReduceSeedSingle.ReduceSeedObserver, FlowableReplay.InnerSubscription, FlowableReplay.ReplaySubscriber, FlowableSequenceEqualSingle.EqualCoordinator, FlowableSingleMaybe.SingleElementSubscriber, FlowableSingleSingle.SingleElementSubscriber, FlowableSwitchMapCompletable.SwitchMapCompletableObserver, FlowableTimeout.TimeoutConsumer, FlowableToListSingle.ToListSubscriber, FlowableWindowBoundary.WindowBoundaryInnerSubscriber, FlowableWindowBoundarySelector.WindowBoundaryMainSubscriber.WindowEndSubscriberIntercept, ForEachWhileObserver, ForEachWhileSubscriber, FutureDisposable, FutureMultiObserver, FutureObserver, ImmediateThinScheduler.ImmediateThinWorker, InnerQueuedObserver, InstantPeriodicTask, IoScheduler.EventLoopWorker, IoScheduler.ThreadWorker, LambdaObserver, LambdaSubscriber, ListCompositeDisposable, MaterializeSingleObserver, MaybeCache.CacheDisposable, MaybeCallbackObserver, MaybeContains.ContainsMaybeObserver, MaybeCount.CountMaybeObserver, MaybeCreate.Emitter, MaybeDelay.DelayMaybeObserver, MaybeDelayOtherPublisher.DelayMaybeObserver, MaybeDelaySubscriptionOtherPublisher.OtherSubscriber, MaybeDelayWithCompletable.OtherObserver, MaybeDematerialize.DematerializeObserver, MaybeDetach.DetachMaybeObserver, MaybeDoAfterSuccess.DoAfterObserver, MaybeDoFinally.DoFinallyObserver, MaybeDoOnEvent.DoOnEventMaybeObserver, MaybeDoOnLifecycle.MaybeLifecycleObserver, MaybeEqualSingle.EqualCoordinator, MaybeFilter.FilterMaybeObserver, MaybeFilterSingle.FilterMaybeObserver, MaybeFlatMapBiSelector.FlatMapBiMainObserver, MaybeFlatMapCompletable.FlatMapCompletableObserver, MaybeFlatMapIterableObservable.FlatMapIterableObserver, MaybeFlatMapNotification.FlatMapMaybeObserver, MaybeFlatMapObservable.FlatMapObserver, MaybeFlatMapSingle.FlatMapMaybeObserver, MaybeFlatten.FlatMapMaybeObserver, MaybeFlattenStreamAsObservable.FlattenStreamMultiObserver, MaybeFromCompletable.FromCompletableObserver, MaybeFromCompletionStage.CompletionStageHandler, MaybeFromSingle.FromSingleObserver, MaybeHide.HideMaybeObserver, MaybeIgnoreElement.IgnoreMaybeObserver, MaybeIgnoreElementCompletable.IgnoreMaybeObserver, MaybeIsEmpty.IsEmptyMaybeObserver, MaybeIsEmptySingle.IsEmptyMaybeObserver, MaybeMap.MapMaybeObserver, MaybeMapOptional.MapOptionalMaybeObserver, MaybeObserveOn.ObserveOnMaybeObserver, MaybeOnErrorComplete.OnErrorCompleteMultiObserver, MaybeOnErrorNext.OnErrorNextMaybeObserver, MaybeOnErrorReturn.OnErrorReturnMaybeObserver, MaybePeek.MaybePeekObserver, MaybeSubject.MaybeDisposable, MaybeSubscribeOn.SubscribeOnMaybeObserver, MaybeSwitchIfEmpty.SwitchIfEmptyMaybeObserver, MaybeSwitchIfEmptySingle.SwitchIfEmptyMaybeObserver, MaybeTakeUntilMaybe.TakeUntilMainMaybeObserver, MaybeTakeUntilPublisher.TakeUntilMainMaybeObserver, MaybeTimeInterval.TimeIntervalMaybeObserver, MaybeTimeoutMaybe.TimeoutMainMaybeObserver, MaybeTimeoutPublisher.TimeoutMainMaybeObserver, MaybeTimer.TimerDisposable, MaybeToObservable.MaybeToObservableObserver, MaybeToSingle.ToSingleMaybeSubscriber, MaybeUnsubscribeOn.UnsubscribeOnMaybeObserver, MaybeUsing.UsingObserver, MaybeZipArray.ZipCoordinator, NewThreadWorker, ObservableAll.AllObserver, ObservableAllSingle.AllObserver, ObservableAmb.AmbCoordinator, ObservableAny.AnyObserver, ObservableAnySingle.AnyObserver, ObservableBuffer.BufferExactObserver, ObservableBuffer.BufferSkipObserver, ObservableBufferBoundary.BufferBoundaryObserver, ObservableBufferBoundary.BufferBoundaryObserver.BufferOpenObserver, ObservableBufferBoundary.BufferCloseObserver, ObservableBufferExactBoundary.BufferBoundaryObserver, ObservableBufferExactBoundary.BufferExactBoundaryObserver, ObservableBufferTimed.BufferExactBoundedObserver, ObservableBufferTimed.BufferExactUnboundedObserver, ObservableBufferTimed.BufferSkipBoundedObserver, ObservableCache.CacheDisposable, ObservableCollect.CollectObserver, ObservableCollectSingle.CollectObserver, ObservableCollectWithCollector.CollectorObserver, ObservableCollectWithCollectorSingle.CollectorSingleObserver, ObservableCombineLatest.LatestCoordinator, ObservableConcatMap.ConcatMapDelayErrorObserver, ObservableConcatMap.SourceObserver, ObservableConcatMapCompletable.ConcatMapCompletableObserver, ObservableConcatMapEager.ConcatMapEagerMainObserver, ObservableConcatMapMaybe.ConcatMapMaybeMainObserver, ObservableConcatMapScheduler.ConcatMapDelayErrorObserver, ObservableConcatMapScheduler.ConcatMapObserver, ObservableConcatMapSingle.ConcatMapSingleMainObserver, ObservableConcatWithCompletable.ConcatWithObserver, ObservableConcatWithMaybe.ConcatWithObserver, ObservableConcatWithSingle.ConcatWithObserver, ObservableCount.CountObserver, ObservableCountSingle.CountObserver, ObservableCreate.CreateEmitter, ObservableDebounce.DebounceObserver, ObservableDebounce.DebounceObserver.DebounceInnerObserver, ObservableDebounceTimed.DebounceEmitter, ObservableDebounceTimed.DebounceTimedObserver, ObservableDelay.DelayObserver, ObservableDematerialize.DematerializeObserver, ObservableDetach.DetachObserver, ObservableDistinct.DistinctObserver, ObservableDistinctUntilChanged.DistinctUntilChangedObserver, ObservableDoAfterNext.DoAfterObserver, ObservableDoFinally.DoFinallyObserver, ObservableDoOnEach.DoOnEachObserver, ObservableElementAt.ElementAtObserver, ObservableElementAtMaybe.ElementAtObserver, ObservableElementAtSingle.ElementAtObserver, ObservableFilter.FilterObserver, ObservableFlatMap.MergeObserver, ObservableFlatMapCompletable.FlatMapCompletableMainObserver, ObservableFlatMapCompletable.FlatMapCompletableMainObserver.InnerObserver, ObservableFlatMapCompletableCompletable.FlatMapCompletableMainObserver, ObservableFlatMapCompletableCompletable.FlatMapCompletableMainObserver.InnerObserver, ObservableFlatMapMaybe.FlatMapMaybeObserver, ObservableFlatMapMaybe.FlatMapMaybeObserver.InnerObserver, ObservableFlatMapSingle.FlatMapSingleObserver, ObservableFlatMapSingle.FlatMapSingleObserver.InnerObserver, ObservableFlatMapStream.FlatMapStreamObserver, ObservableFlattenIterable.FlattenIterableObserver, ObservableFromArray.FromArrayDisposable, ObservableFromCompletable.FromCompletableObserver, ObservableFromCompletionStage.CompletionStageHandler, ObservableFromIterable.FromIterableDisposable, ObservableFromPublisher.PublisherSubscriber, ObservableFromStream.StreamDisposable, ObservableGenerate.GeneratorDisposable, ObservableGroupBy.GroupByObserver, ObservableGroupBy.State, ObservableGroupJoin.GroupJoinDisposable, ObservableGroupJoin.LeftRightEndObserver, ObservableGroupJoin.LeftRightObserver, ObservableHide.HideDisposable, ObservableIgnoreElements.IgnoreObservable, ObservableIgnoreElementsCompletable.IgnoreObservable, ObservableInterval.IntervalObserver, ObservableIntervalRange.IntervalRangeObserver, ObservableJoin.JoinDisposable, ObservableLastMaybe.LastObserver, ObservableLastSingle.LastObserver, ObservableMap.MapObserver, ObservableMapNotification.MapNotificationObserver, ObservableMapOptional.MapOptionalObserver, ObservableMaterialize.MaterializeObserver, ObservableMergeWithCompletable.MergeWithObserver, ObservableMergeWithMaybe.MergeWithObserver, ObservableMergeWithSingle.MergeWithObserver, ObservableObserveOn.ObserveOnObserver, ObservableOnErrorComplete.OnErrorCompleteObserver, ObservableOnErrorReturn.OnErrorReturnObserver, ObservablePublish.InnerDisposable, ObservablePublish.PublishConnection, ObservablePublishSelector.TargetObserver, ObservableRange.RangeDisposable, ObservableRangeLong.RangeDisposable, ObservableReduceMaybe.ReduceObserver, ObservableReduceSeedSingle.ReduceSeedObserver, ObservableRefCount.RefCountObserver, ObservableRepeatWhen.RepeatWhenObserver, ObservableReplay.InnerDisposable, ObservableReplay.ReplayObserver, ObservableRetryWhen.RepeatWhenObserver, ObservableSampleTimed.SampleTimedEmitLast, ObservableSampleTimed.SampleTimedNoLast, ObservableSampleTimed.SampleTimedObserver, ObservableSampleWithObservable.SampleMainEmitLast, ObservableSampleWithObservable.SampleMainNoLast, ObservableSampleWithObservable.SampleMainObserver, ObservableScalarXMap.ScalarDisposable, ObservableScan.ScanObserver, ObservableScanSeed.ScanSeedObserver, ObservableSequenceEqual.EqualCoordinator, ObservableSequenceEqualSingle.EqualCoordinator, ObservableSingleMaybe.SingleElementObserver, ObservableSingleSingle.SingleElementObserver, ObservableSkip.SkipObserver, ObservableSkipLast.SkipLastObserver, ObservableSkipLastTimed.SkipLastTimedObserver, ObservableSkipWhile.SkipWhileObserver, ObservableSubscribeOn.SubscribeOnObserver, ObservableSwitchMap.SwitchMapObserver, ObservableSwitchMapCompletable.SwitchMapCompletableObserver, ObservableSwitchMapMaybe.SwitchMapMaybeMainObserver, ObservableSwitchMapSingle.SwitchMapSingleMainObserver, ObservableTake.TakeObserver, ObservableTakeLast.TakeLastObserver, ObservableTakeLastOne.TakeLastOneObserver, ObservableTakeLastTimed.TakeLastTimedObserver, ObservableTakeUntil.TakeUntilMainObserver, ObservableTakeUntilPredicate.TakeUntilPredicateObserver, ObservableTakeWhile.TakeWhileObserver, ObservableThrottleFirstTimed.DebounceTimedObserver, ObservableThrottleLatest.ThrottleLatestObserver, ObservableTimeInterval.TimeIntervalObserver, ObservableTimeout.TimeoutConsumer, ObservableTimeout.TimeoutFallbackObserver, ObservableTimeout.TimeoutObserver, ObservableTimeoutTimed.TimeoutFallbackObserver, ObservableTimeoutTimed.TimeoutObserver, ObservableTimer.TimerObserver, ObservableToList.ToListObserver, ObservableToListSingle.ToListObserver, ObservableUnsubscribeOn.UnsubscribeObserver, ObservableUsing.UsingObserver, ObservableWindow.WindowExactObserver, ObservableWindow.WindowSkipObserver, ObservableWindowBoundary.WindowBoundaryInnerObserver, ObservableWindowBoundary.WindowBoundaryMainObserver, ObservableWindowBoundarySelector.WindowBoundaryMainObserver, ObservableWindowBoundarySelector.WindowBoundaryMainObserver.WindowEndObserverIntercept, ObservableWindowTimed.AbstractWindowObserver, ObservableWindowTimed.WindowExactBoundedObserver, ObservableWindowTimed.WindowExactUnboundedObserver, ObservableWindowTimed.WindowSkipObserver, ObservableWithLatestFrom.WithLatestFromObserver, ObservableWithLatestFromMany.WithLatestFromObserver, ObservableZip.ZipCoordinator, ObservableZipIterable.ZipIterableObserver, ObserverResourceWrapper, PublishSubject.PublishDisposable, ReferenceDisposable, ReplaySubject.ReplayDisposable, ResourceCompletableObserver, ResourceMaybeObserver, ResourceObserver, ResourceSingleObserver, ResourceSubscriber, RunnableDisposable, SafeObserver, ScheduledDirectPeriodicTask, ScheduledDirectTask, ScheduledRunnable, Scheduler.DisposeTask, Scheduler.PeriodicDirectTask, Scheduler.Worker, SchedulerWhen, SchedulerWhen.DelayedAction, SchedulerWhen.ImmediateAction, SchedulerWhen.QueueWorker, SchedulerWhen.ScheduledAction, SchedulerWhen.SubscribedDisposable, SequentialDisposable, SerialDisposable, SerializedObserver, SingleCache.CacheDisposable, SingleCreate.Emitter, SingleDelayWithCompletable.OtherObserver, SingleDelayWithObservable.OtherSubscriber, SingleDelayWithPublisher.OtherSubscriber, SingleDelayWithSingle.OtherObserver, SingleDematerialize.DematerializeObserver, SingleDetach.DetachSingleObserver, SingleDoAfterSuccess.DoAfterObserver, SingleDoAfterTerminate.DoAfterTerminateObserver, SingleDoFinally.DoFinallyObserver, SingleDoOnDispose.DoOnDisposeObserver, SingleDoOnLifecycle.SingleLifecycleObserver, SingleFlatMap.SingleFlatMapCallback, SingleFlatMapBiSelector.FlatMapBiMainObserver, SingleFlatMapCompletable.FlatMapCompletableObserver, SingleFlatMapIterableObservable.FlatMapIterableObserver, SingleFlatMapMaybe.FlatMapSingleObserver, SingleFlatMapNotification.FlatMapSingleObserver, SingleFlatMapObservable.FlatMapObserver, SingleFromCompletionStage.CompletionStageHandler, SingleFromPublisher.ToSingleObserver, SingleHide.HideSingleObserver, SingleMapOptional.MapOptionalSingleObserver, SingleObserveOn.ObserveOnSingleObserver, SingleResumeNext.ResumeMainSingleObserver, SingleScheduler.ScheduledWorker, SingleSubject.SingleDisposable, SingleSubscribeOn.SubscribeOnObserver, SingleTakeUntil.TakeUntilMainObserver, SingleTimeInterval.TimeIntervalSingleObserver, SingleTimeout.TimeoutMainObserver, SingleTimer.TimerDisposable, SingleToObservable.SingleToObservableObserver, SingleUnsubscribeOn.UnsubscribeOnSingleObserver, SingleUsing.UsingSingleObserver, SingleZipArray.ZipCoordinator, SubscriberResourceWrapper, SubscriptionDisposable, TestObserver, TestScheduler.TestWorker, TestScheduler.TestWorker.QueueRemove, TrampolineScheduler.TrampolineWorker, UnicastSubject.UnicastQueueDisposable

public interface Disposable
Represents a disposable resource.
  • 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 a Disposable by wrapping a Runnable that is executed exactly once when the Disposable is disposed.
      Parameters:
      run - the Runnable to wrap
      Returns:
      the new Disposable instance
      Throws:
      NullPointerException - if run is null
      Since:
      3.0.0
    • fromAction

      @NonNull static @NonNull Disposable fromAction(@NonNull @NonNull Action action)
      Construct a Disposable by wrapping a Action that is executed exactly once when the Disposable is disposed.
      Parameters:
      action - the Action to wrap
      Returns:
      the new Disposable instance
      Throws:
      NullPointerException - if action is null
      Since:
      3.0.0
    • fromFuture

      @NonNull static @NonNull Disposable fromFuture(@NonNull @NonNull Future<?> future)
      Construct a Disposable by wrapping a Future that is cancelled exactly once when the Disposable is disposed.

      The Future is cancelled with mayInterruptIfRunning == true.

      Parameters:
      future - the Future to wrap
      Returns:
      the new Disposable instance
      Throws:
      NullPointerException - if future is null
      Since:
      3.0.0
      See Also:
    • fromFuture

      @NonNull static @NonNull Disposable fromFuture(@NonNull @NonNull Future<?> future, boolean allowInterrupt)
      Construct a Disposable by wrapping a Future that is cancelled exactly once when the Disposable is disposed.
      Parameters:
      future - the Future to wrap
      allowInterrupt - if true, the future cancel happens via Future.cancel(true)
      Returns:
      the new Disposable instance
      Throws:
      NullPointerException - if future is null
      Since:
      3.0.0
    • fromSubscription

      @NonNull static @NonNull Disposable fromSubscription(@NonNull @NonNull org.reactivestreams.Subscription subscription)
      Construct a Disposable by wrapping a Subscription that is cancelled exactly once when the Disposable is disposed.
      Parameters:
      subscription - the Runnable to wrap
      Returns:
      the new Disposable instance
      Throws:
      NullPointerException - if subscription is null
      Since:
      3.0.0
    • fromAutoCloseable

      @NonNull static @NonNull Disposable fromAutoCloseable(@NonNull @NonNull AutoCloseable autoCloseable)
      Construct a Disposable by wrapping an AutoCloseable that is closed exactly once when the Disposable is disposed.
      Parameters:
      autoCloseable - the AutoCloseable to wrap
      Returns:
      the new Disposable instance
      Throws:
      NullPointerException - if autoCloseable is null
      Since:
      3.0.0
    • toAutoCloseable

      @NonNull static @NonNull AutoCloseable toAutoCloseable(@NonNull @NonNull Disposable disposable)
      Construct an AutoCloseable by wrapping a Disposable that is disposed when the returned AutoCloseable is closed.
      Parameters:
      disposable - the Disposable instance
      Returns:
      the new AutoCloseable instance
      Throws:
      NullPointerException - if disposable is null
      Since:
      3.0.0
    • empty

      @NonNull static @NonNull Disposable empty()
      Returns a new, non-disposed Disposable instance.
      Returns:
      a new, non-disposed Disposable instance
      Since:
      3.0.0
    • disposed

      @NonNull static @NonNull Disposable disposed()
      Returns a shared, disposed Disposable instance.
      Returns:
      a shared, disposed Disposable instance
      Since:
      3.0.0