org.apache.commons.collections.buffer
Class SynchronizedBuffer<E>

java.lang.Object
  extended by org.apache.commons.collections.collection.SynchronizedCollection<E>
      extended by org.apache.commons.collections.buffer.SynchronizedBuffer<E>
All Implemented Interfaces:
Serializable, Iterable<E>, Collection<E>, Buffer<E>
Direct Known Subclasses:
BlockingBuffer

public class SynchronizedBuffer<E>
extends SynchronizedCollection<E>
implements Buffer<E>

Decorates another Buffer to synchronize its behaviour for a multi-threaded environment.

Methods are synchronized, then forwarded to the decorated buffer.

This class is Serializable from Commons Collections 3.1.

Since:
Commons Collections 3.0
Version:
$Revision: 1.1.1.1 $ $Date: 2005/05/23 04:33:55 $
Author:
Matt Hall, John Watkinson, Stephen Colebourne
See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.apache.commons.collections.collection.SynchronizedCollection
collection, lock
 
Constructor Summary
protected SynchronizedBuffer(Buffer<E> buffer)
          Constructor that wraps (not copies).
protected SynchronizedBuffer(Buffer<E> buffer, Object lock)
          Constructor that wraps (not copies).
 
Method Summary
static
<E> Buffer<E>
decorate(Buffer<E> buffer)
          Factory method to create a synchronized buffer.
 E get()
          Gets the next object from the buffer without removing it.
protected  Buffer<E> getBuffer()
          Gets the buffer being decorated.
 E remove()
          Gets and removes the next object from the buffer.
 
Methods inherited from class org.apache.commons.collections.collection.SynchronizedCollection
add, addAll, clear, contains, containsAll, decorate, equals, hashCode, isEmpty, iterator, remove, removeAll, retainAll, size, toArray, toArray, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.util.Collection
add, addAll, clear, contains, containsAll, equals, hashCode, isEmpty, iterator, remove, removeAll, retainAll, size, toArray, toArray
 

Constructor Detail

SynchronizedBuffer

protected SynchronizedBuffer(Buffer<E> buffer)
Constructor that wraps (not copies).

Parameters:
buffer - the buffer to decorate, must not be null
Throws:
IllegalArgumentException - if the buffer is null

SynchronizedBuffer

protected SynchronizedBuffer(Buffer<E> buffer,
                             Object lock)
Constructor that wraps (not copies).

Parameters:
buffer - the buffer to decorate, must not be null
lock - the lock object to use, must not be null
Throws:
IllegalArgumentException - if the buffer is null
Method Detail

decorate

public static <E> Buffer<E> decorate(Buffer<E> buffer)
Factory method to create a synchronized buffer.

Parameters:
buffer - the buffer to decorate, must not be null
Returns:
a new synchronized Buffer
Throws:
IllegalArgumentException - if buffer is null

getBuffer

protected Buffer<E> getBuffer()
Gets the buffer being decorated.

Returns:
the decorated buffer

get

public E get()
Description copied from interface: Buffer
Gets the next object from the buffer without removing it.

Specified by:
get in interface Buffer<E>
Returns:
the next object in the buffer, which is not removed

remove

public E remove()
Description copied from interface: Buffer
Gets and removes the next object from the buffer.

Specified by:
remove in interface Buffer<E>
Returns:
the next object in the buffer, which is also removed


Copyright © 2005-2005 Apache Software Foundation, Matt Hall, John Watkinson. All Rights Reserved.