Class 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:
    Serialized Form
    • 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