org.apache.commons.collections.buffer
public class BoundedBuffer extends SynchronizedBuffer implements BoundedCollection
Buffer
to ensure a fixed maximum size.
Note: This class should only be used if you need to add bounded behaviour to another buffer. If you just want a bounded buffer then you should use BoundedFifoBuffer or CircularFifoBuffer.
The decoration methods allow you to specify a timeout value. This alters the behaviour of the add methods when the buffer is full. Normally, when the buffer is full, the add method will throw an exception. With a timeout, the add methods will wait for up to the timeout period to try and add the elements.
Since: Commons Collections 3.2
Version: $Revision: 405927 $ $Date: 2006-05-12 23:57:03 +0100 (Fri, 12 May 2006) $
Constructor Summary | |
---|---|
protected | BoundedBuffer(Buffer buffer, int maximumSize, long timeout)
Constructor that wraps (not copies) another buffer, making it bounded
waiting only up to a maximum amount of time.
|
Method Summary | |
---|---|
boolean | add(Object o) |
boolean | addAll(Collection c) |
static BoundedBuffer | decorate(Buffer buffer, int maximumSize)
Factory method to create a bounded buffer.
|
static BoundedBuffer | decorate(Buffer buffer, int maximumSize, long timeout)
Factory method to create a bounded buffer that blocks for a maximum
amount of time.
|
boolean | isFull() |
Iterator | iterator() |
int | maxSize() |
Object | remove() |
Parameters: buffer the buffer to wrap, must not be null maximumSize the maximum size, must be size one or greater timeout the maximum amount of time to wait
Throws: IllegalArgumentException if the buffer is null IllegalArgumentException if the maximum size is zero or less
When the buffer is full, it will immediately throw a
BufferOverflowException
on calling add()
.
Parameters: buffer the buffer to decorate, must not be null maximumSize the maximum size, must be size one or greater
Returns: a new bounded buffer
Throws: IllegalArgumentException if the buffer is null IllegalArgumentException if the maximum size is zero or less
Parameters: buffer the buffer to decorate, must not be null maximumSize the maximum size, must be size one or greater timeout the maximum amount of time to wait in milliseconds
Returns: a new bounded buffer
Throws: IllegalArgumentException if the buffer is null IllegalArgumentException if the maximum size is zero or less