## org.apache.commons.collections.buffer
Class SynchronizedBuffer

    java.lang.Object
      org.apache.commons.collections.collection.SynchronizedCollection
          org.apache.commons.collections.buffer.SynchronizedBuffer

All Implemented Interfaces:
  Buffer, Collection, Serializable

Direct Known Subclasses:
  BlockingBuffer

public class SynchronizedBuffer
extends SynchronizedCollection
implements Buffer

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.6 $ $Date: 2004/06/03 22:02:13 $
Author:
  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 buffer)` Constructor that wraps (not copies).
`protected` `SynchronizedBuffer(Buffer buffer, Object lock)` Constructor that wraps (not copies).

Method Summary
`static Buffer` `decorate(Buffer buffer)` Factory method to create a synchronized buffer.
`Object` `get()` Gets the next object from the buffer without removing it.
`protected Buffer` `getBuffer()` Gets the buffer being decorated.
`Object` `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 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 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 Buffer decorate(Buffer 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 getBuffer()

  Gets the buffer being decorated.

  Returns:
    the decorated buffer

### get

    public Object get()

  Description copied from interface: `Buffer`
  Gets the next object from the buffer without removing it.

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

### remove

    public Object remove()

  Description copied from interface: `Buffer`
  Gets and removes the next object from the buffer.

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

Copyright © 2001-2005 Apache Software Foundation. All Rights Reserved.