Class SerialDisposable

java.lang.Object
io.reactivex.rxjava3.disposables.SerialDisposable
All Implemented Interfaces:
Disposable

public final class SerialDisposable extends Object implements Disposable
A Disposable container that allows atomically updating/replacing the contained Disposable with another Disposable, disposing the old one when updating plus handling the disposition when the container itself is disposed.
  • Field Details

  • Constructor Details

    • SerialDisposable

      public SerialDisposable()
      Constructs an empty SerialDisposable.
    • SerialDisposable

      public SerialDisposable(@Nullable @Nullable Disposable initialDisposable)
      Constructs a SerialDisposable with the given initial Disposable instance.
      Parameters:
      initialDisposable - the initial Disposable instance to use, null allowed
  • Method Details

    • set

      public boolean set(@Nullable @Nullable Disposable next)
      Atomically: set the next disposable on this container and dispose the previous one (if any) or dispose next if the container has been disposed.
      Parameters:
      next - the Disposable to set, may be null
      Returns:
      true if the operation succeeded, false if the container has been disposed
      See Also:
    • replace

      public boolean replace(@Nullable @Nullable Disposable next)
      Atomically: set the next disposable on this container but don't dispose the previous one (if any) or dispose next if the container has been disposed.
      Parameters:
      next - the Disposable to set, may be null
      Returns:
      true if the operation succeeded, false if the container has been disposed
      See Also:
    • get

      Returns the currently contained Disposable or null if this container is empty.
      Returns:
      the current Disposable, may be null
    • dispose

      public void dispose()
      Description copied from interface: Disposable
      Dispose the resource, the operation should be idempotent.
      Specified by:
      dispose in interface Disposable
    • isDisposed

      public boolean isDisposed()
      Description copied from interface: Disposable
      Returns true if this resource has been disposed.
      Specified by:
      isDisposed in interface Disposable
      Returns:
      true if this resource has been disposed