Package org.eclipse.net4j.util.collection

## Class RoundRobinBlockingQueue<E>

- java.lang.Object
- - org.eclipse.net4j.util.collection.RoundRobinBlockingQueue<E>

- All Implemented Interfaces:
    `java.lang.Iterable<E>`, `java.util.Collection<E>`, `java.util.concurrent.BlockingQueue<E>`, `java.util.Queue<E>`

      public class RoundRobinBlockingQueue<E>
      extends java.lang.Object
      implements java.util.concurrent.BlockingQueue<E>

  Since:
    3.1
  Author:
    Eike Stepper

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `RoundRobinBlockingQueue()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `boolean` | `add​(E o)` |
    `boolean` | `addAll​(java.util.Collection<? extends E> c)` |
    `void` | `clear()` |
    `boolean` | `contains​(java.lang.Object o)` |
    `boolean` | `containsAll​(java.util.Collection<?> c)` |
    `int` | `drainTo​(java.util.Collection<? super E> c)` |
    `int` | `drainTo​(java.util.Collection<? super E> c, int maxElements)` |
    `E` | `element()` |
    `boolean` | `isEmpty()` |
    `java.util.Iterator<E>` | `iterator()` |
    `boolean` | `offer​(E e)` |
    `boolean` | `offer​(E o, long timeout, java.util.concurrent.TimeUnit unit)` |
    `E` | `peek()` |
    `E` | `poll()` |
    `E` | `poll​(long timeout, java.util.concurrent.TimeUnit unit)` |
    `void` | `put​(E o)` |
    `int` | `remainingCapacity()` |
    `E` | `remove()` |
    `boolean` | `remove​(java.lang.Object o)` |
    `boolean` | `removeAll​(java.util.Collection<?> c)` |
    `boolean` | `retainAll​(java.util.Collection<?> c)` |
    `int` | `size()` |
    `E` | `take()` |
    `java.lang.Object[]` | `toArray()` |
    `<T> T[]` | `toArray​(T[] array)` |
    `java.lang.String` | `toString()` |

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface java.util.Collection

      `equals, hashCode, parallelStream, removeIf, spliterator, stream, toArray`

    - ### Methods inherited from interface java.lang.Iterable

      `forEach`

- - ### Constructor Detail

    - #### RoundRobinBlockingQueue

          public RoundRobinBlockingQueue()

  - ### Method Detail

    - #### remainingCapacity

          public int remainingCapacity()

      Specified by:
        `remainingCapacity` in interface `java.util.concurrent.BlockingQueue<E>`

    - #### size

          public int size()

      Specified by:
        `size` in interface `java.util.Collection<E>`

    - #### isEmpty

          public boolean isEmpty()

      Specified by:
        `isEmpty` in interface `java.util.Collection<E>`

    - #### offer

          public boolean offer​(E e)

      Specified by:
        `offer` in interface `java.util.concurrent.BlockingQueue<E>`
      Specified by:
        `offer` in interface `java.util.Queue<E>`

    - #### offer

          public boolean offer​(E o,
                               long timeout,
                               java.util.concurrent.TimeUnit unit)
                        throws java.lang.InterruptedException

      Specified by:
        `offer` in interface `java.util.concurrent.BlockingQueue<E>`
      Throws:
        `java.lang.InterruptedException`

    - #### put

          public void put​(E o)
                   throws java.lang.InterruptedException

      Specified by:
        `put` in interface `java.util.concurrent.BlockingQueue<E>`
      Throws:
        `java.lang.InterruptedException`

    - #### add

          public boolean add​(E o)

      Specified by:
        `add` in interface `java.util.concurrent.BlockingQueue<E>`
      Specified by:
        `add` in interface `java.util.Collection<E>`
      Specified by:
        `add` in interface `java.util.Queue<E>`

    - #### poll

          public E poll​(long timeout,
                        java.util.concurrent.TimeUnit unit)
                 throws java.lang.InterruptedException

      Specified by:
        `poll` in interface `java.util.concurrent.BlockingQueue<E>`
      Throws:
        `java.lang.InterruptedException`

    - #### poll

          public E poll()

      Specified by:
        `poll` in interface `java.util.Queue<E>`

    - #### take

          public E take()
                 throws java.lang.InterruptedException

      Specified by:
        `take` in interface `java.util.concurrent.BlockingQueue<E>`
      Throws:
        `java.lang.InterruptedException`

    - #### peek

          public E peek()

      Specified by:
        `peek` in interface `java.util.Queue<E>`

    - #### element

          public E element()

      Specified by:
        `element` in interface `java.util.Queue<E>`

    - #### remove

          public E remove()

      Specified by:
        `remove` in interface `java.util.Queue<E>`

    - #### remove

          public boolean remove​(java.lang.Object o)

      Specified by:
        `remove` in interface `java.util.concurrent.BlockingQueue<E>`
      Specified by:
        `remove` in interface `java.util.Collection<E>`

    - #### clear

          public void clear()

      Specified by:
        `clear` in interface `java.util.Collection<E>`

    - #### iterator

          public java.util.Iterator<E> iterator()

      Specified by:
        `iterator` in interface `java.util.Collection<E>`
      Specified by:
        `iterator` in interface `java.lang.Iterable<E>`

    - #### contains

          public boolean contains​(java.lang.Object o)

      Specified by:
        `contains` in interface `java.util.concurrent.BlockingQueue<E>`
      Specified by:
        `contains` in interface `java.util.Collection<E>`

    - #### toArray

          public java.lang.Object[] toArray()

      Specified by:
        `toArray` in interface `java.util.Collection<E>`

    - #### toArray

          public <T> T[] toArray​(T[] array)

      Specified by:
        `toArray` in interface `java.util.Collection<E>`

    - #### containsAll

          public boolean containsAll​(java.util.Collection<?> c)

      Specified by:
        `containsAll` in interface `java.util.Collection<E>`

    - #### addAll

          public boolean addAll​(java.util.Collection<? extends E> c)

      Specified by:
        `addAll` in interface `java.util.Collection<E>`

    - #### removeAll

          public boolean removeAll​(java.util.Collection<?> c)

      Specified by:
        `removeAll` in interface `java.util.Collection<E>`

    - #### retainAll

          public boolean retainAll​(java.util.Collection<?> c)

      Specified by:
        `retainAll` in interface `java.util.Collection<E>`

    - #### drainTo

          public int drainTo​(java.util.Collection<? super E> c)

      Specified by:
        `drainTo` in interface `java.util.concurrent.BlockingQueue<E>`

    - #### drainTo

          public int drainTo​(java.util.Collection<? super E> c,
                             int maxElements)

      Specified by:
        `drainTo` in interface `java.util.concurrent.BlockingQueue<E>`

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `java.lang.Object`