Enum EmptyDisposable

  • All Implemented Interfaces:
    Disposable, QueueDisposable<java.lang.Object>, QueueFuseable<java.lang.Object>, SimpleQueue<java.lang.Object>, java.io.Serializable, java.lang.Comparable<EmptyDisposable>

    public enum EmptyDisposable
    extends java.lang.Enum<EmptyDisposable>
    implements QueueDisposable<java.lang.Object>
    Represents a stateless empty Disposable that reports being always empty and disposed.

    It is also async-fuseable but empty all the time.

    Since EmptyDisposable implements QueueDisposable and is empty, don't use it in tests and then signal onNext with it; use Disposables.empty() instead.

    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
      INSTANCE
      Since EmptyDisposable implements QueueDisposable and is empty, don't use it in tests and then signal onNext with it; use Disposables.empty() instead.
      NEVER
      An empty disposable that returns false for isDisposed.
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private EmptyDisposable()  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void clear()
      Removes all enqueued items from this queue.
      static void complete​(CompletableObserver observer)  
      static void complete​(MaybeObserver<?> observer)  
      static void complete​(Observer<?> observer)  
      void dispose()
      Dispose the resource, the operation should be idempotent.
      static void error​(java.lang.Throwable e, CompletableObserver observer)  
      static void error​(java.lang.Throwable e, MaybeObserver<?> observer)  
      static void error​(java.lang.Throwable e, Observer<?> observer)  
      static void error​(java.lang.Throwable e, SingleObserver<?> observer)  
      boolean isDisposed()
      Returns true if this resource has been disposed.
      boolean isEmpty()
      Returns true if the queue is empty.
      boolean offer​(java.lang.Object value)
      Atomically enqueue a single value.
      boolean offer​(java.lang.Object v1, java.lang.Object v2)
      Atomically enqueue two values.
      @Nullable java.lang.Object poll()
      Tries to dequeue a value (non-null) or returns null if the queue is empty.
      int requestFusion​(int mode)
      Request a fusion mode from the upstream.
      static EmptyDisposable valueOf​(java.lang.String name)
      Returns the enum constant of this type with the specified name.
      static EmptyDisposable[] values()
      Returns an array containing the constants of this enum type, in the order they are declared.
      • Methods inherited from class java.lang.Enum

        clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
      • Methods inherited from class java.lang.Object

        getClass, notify, notifyAll, wait, wait, wait
    • Enum Constant Detail

      • INSTANCE

        public static final EmptyDisposable INSTANCE
        Since EmptyDisposable implements QueueDisposable and is empty, don't use it in tests and then signal onNext with it; use Disposables.empty() instead.
      • NEVER

        public static final EmptyDisposable NEVER
        An empty disposable that returns false for isDisposed.
    • Constructor Detail

      • EmptyDisposable

        private EmptyDisposable()
    • Method Detail

      • values

        public static EmptyDisposable[] values()
        Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
        for (EmptyDisposable c : EmptyDisposable.values())
            System.out.println(c);
        
        Returns:
        an array containing the constants of this enum type, in the order they are declared
      • valueOf

        public static EmptyDisposable valueOf​(java.lang.String name)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        name - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
        java.lang.NullPointerException - if the argument is 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
      • complete

        public static void complete​(Observer<?> observer)
      • complete

        public static void complete​(MaybeObserver<?> observer)
      • error

        public static void error​(java.lang.Throwable e,
                                 Observer<?> observer)
      • error

        public static void error​(java.lang.Throwable e,
                                 SingleObserver<?> observer)
      • error

        public static void error​(java.lang.Throwable e,
                                 MaybeObserver<?> observer)
      • offer

        public boolean offer​(java.lang.Object value)
        Description copied from interface: SimpleQueue
        Atomically enqueue a single value.
        Specified by:
        offer in interface SimpleQueue<java.lang.Object>
        Parameters:
        value - the value to enqueue, not null
        Returns:
        true if successful, false if the value was not enqueued likely due to reaching the queue capacity)
      • offer

        public boolean offer​(java.lang.Object v1,
                             java.lang.Object v2)
        Description copied from interface: SimpleQueue
        Atomically enqueue two values.
        Specified by:
        offer in interface SimpleQueue<java.lang.Object>
        Parameters:
        v1 - the first value to enqueue, not null
        v2 - the second value to enqueue, not null
        Returns:
        true if successful, false if the value was not enqueued likely due to reaching the queue capacity)
      • poll

        @Nullable
        public @Nullable java.lang.Object poll()
        Description copied from interface: SimpleQueue
        Tries to dequeue a value (non-null) or returns null if the queue is empty.

        If the producer uses SimpleQueue.offer(Object, Object) and when polling in pairs, if the first poll() returns a non-null item, the second poll() is guaranteed to return a non-null item as well.

        Specified by:
        poll in interface SimpleQueue<java.lang.Object>
        Returns:
        the item or null to indicate an empty queue
      • isEmpty

        public boolean isEmpty()
        Description copied from interface: SimpleQueue
        Returns true if the queue is empty.

        Note however that due to potential fused functions in SimpleQueue.poll() it is possible this method returns false but then poll() returns null because the fused function swallowed the available item(s).

        Specified by:
        isEmpty in interface SimpleQueue<java.lang.Object>
        Returns:
        true if the queue is empty
      • clear

        public void clear()
        Description copied from interface: SimpleQueue
        Removes all enqueued items from this queue.
        Specified by:
        clear in interface SimpleQueue<java.lang.Object>