org.apache.commons.collections.buffer
Class BlockingBuffer
- Buffer, Collection, Serializable
public class BlockingBuffer
Decorates another
Buffer
to make
get()
and
remove()
block when the
Buffer
is empty.
If either
get
or
remove
is called on an empty
Buffer
, the calling thread waits for notification that
an
add
or
addAll
operation has completed.
When one or more entries are added to an empty
Buffer
,
all threads blocked in
get
or
remove
are notified.
There is no guarantee that concurrent blocked
get
or
remove
requests will be "unblocked" and receive data in the
order that they arrive.
This class is Serializable from Commons Collections 3.1.
This class contains an extra field in 3.2, however the serialization
specification will handle this gracefully.
$Revision: 348808 $ $Date: 2005-11-24 21:35:09 +0000 (Thu, 24 Nov 2005) $- Stephen Colebourne
- Janek Bogucki
- Phil Steitz
- James Carman
boolean | add(Object o)
|
boolean | addAll(Collection c)
|
static Buffer | decorate(Buffer buffer) - Factory method to create a blocking buffer.
|
static Buffer | decorate(Buffer buffer, long timeoutMillis) - Factory method to create a blocking buffer with a timeout value.
|
Object | get() - Gets the next value from the buffer, waiting until an object is
added if the buffer is empty.
|
Object | get(long timeout) - Gets the next value from the buffer, waiting until an object is
added for up to the specified timeout value if the buffer is empty.
|
Object | remove() - Removes the next value from the buffer, waiting until an object is
added if the buffer is empty.
|
Object | remove(long timeout) - Removes the next value from the buffer, waiting until an object is
added for up to the specified timeout value if the buffer is empty.
|
add , addAll , clear , contains , containsAll , decorate , equals , hashCode , isEmpty , iterator , remove , removeAll , retainAll , size , toArray , toArray , toString |
BlockingBuffer
protected BlockingBuffer(Buffer buffer)
Constructor that wraps (not copies).
buffer
- the buffer to decorate, must not be null
BlockingBuffer
protected BlockingBuffer(Buffer buffer,
long timeoutMillis)
Constructor that wraps (not copies).
buffer
- the buffer to decorate, must not be nulltimeoutMillis
- the timeout value in milliseconds, zero or less for no timeout
decorate
public static Buffer decorate(Buffer buffer,
long timeoutMillis)
Factory method to create a blocking buffer with a timeout value.
buffer
- the buffer to decorate, must not be nulltimeoutMillis
- the timeout value in milliseconds, zero or less for no timeout
get
public Object get()
Gets the next value from the buffer, waiting until an object is
added if the buffer is empty. This method uses the default timeout
set in the constructor.
- get in interface Buffer
- get in interface SynchronizedBuffer
get
public Object get(long timeout)
Gets the next value from the buffer, waiting until an object is
added for up to the specified timeout value if the buffer is empty.
timeout
- the timeout value in milliseconds
remove
public Object remove()
Removes the next value from the buffer, waiting until an object is
added if the buffer is empty. This method uses the default timeout
set in the constructor.
- remove in interface Buffer
- remove in interface SynchronizedBuffer
remove
public Object remove(long timeout)
Removes the next value from the buffer, waiting until an object is
added for up to the specified timeout value if the buffer is empty.
timeout
- the timeout value in milliseconds
Copyright © 2001-2009 Apache Software Foundation. All Rights Reserved.