Package org.eclipse.net4j.util.container.delegate

# Class ContainerBlockingQueue<E>

java.lang.Object
org.eclipse.net4j.util.event.Notifier
org.eclipse.net4j.util.container.delegate.AbstractDelegator<E>
org.eclipse.net4j.util.container.delegate.ContainerCollection<E>
org.eclipse.net4j.util.container.delegate.ContainerQueue<E>
org.eclipse.net4j.util.container.delegate.ContainerBlockingQueue<E>

All Implemented Interfaces:
  `Iterable<E>`, `Collection<E>`, `BlockingQueue<E>`, `Queue<E>`, `IContainerBlockingQueue<E>`, `IContainerCollection<E>`, `IContainerQueue<E>`, `IContainer<E>`, `INotifier`, `INotifier.INotifier2`

public class ContainerBlockingQueue<E> extends ContainerQueue<E> implements IContainerBlockingQueue<E>
A default implementation of a `container blocking queue`.

Author:
  Eike Stepper

## Nested Class Summary

## Nested classes/interfaces inherited from class org.eclipse.net4j.util.container.delegate.AbstractDelegator

`AbstractDelegator.DelegatingIterator`

## Nested classes/interfaces inherited from interface org.eclipse.net4j.util.container.IContainer

`IContainer.Modifiable<E>, IContainer.Persistable<E>, IContainer.Persistence<E>`

## Nested classes/interfaces inherited from interface org.eclipse.net4j.util.event.INotifier

`INotifier.INotifier2`

## Constructor Summary

Constructors
Constructor
Description
`ContainerBlockingQueue(BlockingQueue<E> delegate)`

## Method Summary

Modifier and Type
Method
Description
`int`
`drainTo(Collection<? super E> c)`
`int`
`drainTo(Collection<? super E> c, int maxElements)`
`BlockingQueue<E>`
`getDelegate()`
`boolean`
`offer(E o, long timeout, TimeUnit unit)`
`E`
`poll(long timeout, TimeUnit unit)`
`void`
`put(E o)`
`int`
`remainingCapacity()`
`E`
`take()`

### Methods inherited from class org.eclipse.net4j.util.container.delegate.ContainerQueue

`element, offer, peek, poll, remove`

### Methods inherited from class org.eclipse.net4j.util.container.delegate.ContainerCollection

`add, addAll, clear, contains, containsAll, equals, getElements, hashCode, isEmpty, iterator, remove, removeAll, retainAll, size, toArray, toArray`

### Methods inherited from class org.eclipse.net4j.util.container.delegate.AbstractDelegator

`createEvent, dispatchEvent, fireAddedEvent, fireRemovedEvent`

### Methods inherited from class org.eclipse.net4j.util.event.Notifier

`addListener, addUniqueListener, fireEvent, fireEvent, fireEvent, fireThrowable, firstListenerAdded, getListeners, getNotificationService, hasListener, hasListeners, lastListenerRemoved, listenerAdded, listenerRemoved, removeListener`

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

`clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface java.util.concurrent.BlockingQueue

`add, contains, offer, remove`

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

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

### Methods inherited from interface org.eclipse.net4j.util.container.IContainer

`getElements, isEmpty`

### Methods inherited from interface org.eclipse.net4j.util.event.INotifier

`addListener, getListeners, hasListeners, removeListener`

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

`forEach`

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

`element, peek, poll, remove`

## Constructor Details

### ContainerBlockingQueue

public ContainerBlockingQueue(BlockingQueue<E> delegate)

## Method Details

### getDelegate

public BlockingQueue<E> getDelegate()

Specified by:
  `getDelegate` in interface `IContainerBlockingQueue<E>`
Specified by:
  `getDelegate` in interface `IContainerCollection<E>`
Specified by:
  `getDelegate` in interface `IContainerQueue<E>`
Overrides:
  `getDelegate` in class `ContainerQueue<E>`

### drainTo

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

Specified by:
  `drainTo` in interface `BlockingQueue<E>`
Category
  WRITE

### drainTo

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

Specified by:
  `drainTo` in interface `BlockingQueue<E>`
Category
  WRITE

### offer

public boolean offer(E o, long timeout, TimeUnit unit) throws InterruptedException

Specified by:
  `offer` in interface `BlockingQueue<E>`
Throws:
  `InterruptedException`
Category
  WRITE

### poll

public E poll(long timeout, TimeUnit unit) throws InterruptedException

Specified by:
  `poll` in interface `BlockingQueue<E>`
Throws:
  `InterruptedException`
Category
  WRITE

### put

public void put(E o) throws InterruptedException

Specified by:
  `put` in interface `BlockingQueue<E>`
Throws:
  `InterruptedException`
Category
  WRITE

### remainingCapacity

public int remainingCapacity()

Specified by:
  `remainingCapacity` in interface `BlockingQueue<E>`
Category
  READ

### take

public E take() throws InterruptedException

Specified by:
  `take` in interface `BlockingQueue<E>`
Throws:
  `InterruptedException`
Category
  WRITE