Package org.apache.synapse.commons.executors.queues

## Class FixedSizeQueue<E>

- java.lang.Object
- - java.util.AbstractCollection<E>
  - - java.util.AbstractQueue<E>
    - - org.apache.synapse.commons.executors.queues.FixedSizeQueue<E>

- Type Parameters:
    `E` - Should implement the Importance interface
  All Implemented Interfaces:
    `Iterable<E>`, `Collection<E>`, `Queue<E>`, `InternalQueue<E>`

      public class FixedSizeQueue<E>
      extends AbstractQueue<E>
      implements InternalQueue<E>

  A bounded queue implementation for internal queues. This queue is backed by an fixed size array.

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `FixedSizeQueue​(int priority, int capacity)` | Create a queue with the given priority and capacity.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `boolean` | `contains​(Object o)` |
    `int` | `drainTo​(Collection<? super E> c)` | Drain items from this queue to the specified collection
    `int` | `drainTo​(Collection<? super E> c, int maxElements)` | Drain items from this queue to the specified collection
    `int` | `getCapacity()` | Return the capacity of the queue
    `Condition` | `getNotFullCond()` | Get not full condition
    `int` | `getPriority()` | Get the Priority of the queue
    `Iterator<E>` | `iterator()` |
    `boolean` | `offer​(E e)` |
    `E` | `peek()` |
    `E` | `poll()` |
    `int` | `remainingCapacity()` | Remaining capacity of the queue.
    `boolean` | `remove​(Object o)` |
    `void` | `setNotFullCond​(Condition notFullCond)` | Get not full condition
    `void` | `setPriority​(int p)` | Set the priority
    `int` | `size()` |
    `String` | `toString()` |

    - ### Methods inherited from class java.util.AbstractQueue

      `add, addAll, clear, element, remove`

    - ### Methods inherited from class java.util.AbstractCollection

      `containsAll, isEmpty, removeAll, retainAll, toArray, toArray`

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

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

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

      `addAll, clear, containsAll, equals, hashCode, isEmpty, parallelStream, removeAll, removeIf, retainAll, spliterator, stream, toArray, toArray, toArray`

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

      `forEach`

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

      `add, element, remove`

- - ### Constructor Detail

    - #### FixedSizeQueue

          public FixedSizeQueue​(int priority,
                                int capacity)

      Create a queue with the given priority and capacity.
      Parameters:
        `priority` - priority of the elements in the queue
        `capacity` - capacity of the queue

  - ### Method Detail

    - #### getPriority

          public int getPriority()

      Description copied from interface: `InternalQueue`
      Get the Priority of the queue
      Specified by:
        `getPriority` in interface `InternalQueue<E>`
      Returns:
        priority

    - #### setPriority

          public void setPriority​(int p)

      Description copied from interface: `InternalQueue`
      Set the priority
      Specified by:
        `setPriority` in interface `InternalQueue<E>`
      Parameters:
        `p` - priority

    - #### getNotFullCond

          public Condition getNotFullCond()

      Description copied from interface: `InternalQueue`
      Get not full condition
      Specified by:
        `getNotFullCond` in interface `InternalQueue<E>`
      Returns:
        not full condition

    - #### setNotFullCond

          public void setNotFullCond​(Condition notFullCond)

      Description copied from interface: `InternalQueue`
      Get not full condition
      Specified by:
        `setNotFullCond` in interface `InternalQueue<E>`
      Parameters:
        `notFullCond` - condition

    - #### iterator

          public Iterator<E> iterator()

      Specified by:
        `iterator` in interface `Collection<E>`
      Specified by:
        `iterator` in interface `Iterable<E>`
      Specified by:
        `iterator` in class `AbstractCollection<E>`

    - #### size

          public int size()

      Specified by:
        `size` in interface `Collection<E>`
      Specified by:
        `size` in class `AbstractCollection<E>`

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `AbstractCollection<E>`

    - #### offer

          public boolean offer​(E e)

      Specified by:
        `offer` in interface `Queue<E>`

    - #### poll

          public E poll()

      Specified by:
        `poll` in interface `Queue<E>`

    - #### peek

          public E peek()

      Specified by:
        `peek` in interface `Queue<E>`

    - #### remainingCapacity

          public int remainingCapacity()

      Description copied from interface: `InternalQueue`
      Remaining capacity of the queue. Unbounded queues should return Integer.MAX_VALUE
      Specified by:
        `remainingCapacity` in interface `InternalQueue<E>`
      Returns:
        remaining capacity

    - #### drainTo

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

      Description copied from interface: `InternalQueue`
      Drain items from this queue to the specified collection
      Specified by:
        `drainTo` in interface `InternalQueue<E>`
      Parameters:
        `c` - collection to add item
      Returns:
        number of items added

    - #### drainTo

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

      Description copied from interface: `InternalQueue`
      Drain items from this queue to the specified collection
      Specified by:
        `drainTo` in interface `InternalQueue<E>`
      Parameters:
        `c` - collection to add item
        `maxElements` - maximum number of element to drain
      Returns:
        number of items added

    - #### getCapacity

          public int getCapacity()

      Description copied from interface: `InternalQueue`
      Return the capacity of the queue
      Specified by:
        `getCapacity` in interface `InternalQueue<E>`
      Returns:
        capacity of thr queue

    - #### contains

          public boolean contains​(Object o)

      Specified by:
        `contains` in interface `Collection<E>`
      Overrides:
        `contains` in class `AbstractCollection<E>`

    - #### remove

          public boolean remove​(Object o)

      Specified by:
        `remove` in interface `Collection<E>`
      Overrides:
        `remove` in class `AbstractCollection<E>`