Class SynchronizedBuffer

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

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: 646777 $ $Date: 2008-04-10 14:33:15 +0200 (Thu, 10 Apr 2008) $
Author:
Stephen Colebourne
See Also:
  • Constructor Details

    • 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 Details

    • 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