Interface Disposable

    • Method Detail

      • 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

        @NonNull
        static @NonNull Disposable fromRunnable​(@NonNull
                                                @NonNull java.lang.Runnable run)
        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:
        java.lang.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:
        java.lang.NullPointerException - if action is null
        Since:
        3.0.0
      • fromFuture

        @NonNull
        static @NonNull Disposable fromFuture​(@NonNull
                                              @NonNull java.util.concurrent.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:
        java.lang.NullPointerException - if future is null
        Since:
        3.0.0
        See Also:
        fromFuture(Future, boolean)
      • fromFuture

        @NonNull
        static @NonNull Disposable fromFuture​(@NonNull
                                              @NonNull java.util.concurrent.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:
        java.lang.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:
        java.lang.NullPointerException - if subscription is null
        Since:
        3.0.0
      • fromAutoCloseable

        @NonNull
        static @NonNull Disposable fromAutoCloseable​(@NonNull
                                                     @NonNull java.lang.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:
        java.lang.NullPointerException - if autoCloseable is null
        Since:
        3.0.0
      • toAutoCloseable

        @NonNull
        static @NonNull java.lang.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:
        java.lang.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