org.apache.commons.collections
Class BufferUtils

java.lang.Object
  |
  +--org.apache.commons.collections.BufferUtils

public class BufferUtils
extends java.lang.Object

Contains static utility methods for operating on Buffer objects.

Since:
2.1
Version:
$Id: BufferUtils.java,v 1.9.2.1 2004/05/22 12:14:02 scolebourne Exp $
Author:
Paul Jack, Stephen Colebourne

Method Summary
static Buffer blockingBuffer(Buffer buffer)
          Returns a synchronized buffer backed by the given buffer that will block on Buffer.get() and Buffer.remove() operations.
static Buffer predicatedBuffer(Buffer buffer, Predicate predicate)
          Returns a predicated buffer backed by the given buffer.
static Buffer synchronizedBuffer(Buffer buffer)
          Returns a synchronized buffer backed by the given buffer.
static Buffer unmodifiableBuffer(Buffer buffer)
          Returns an unmodifiable buffer backed by the given buffer.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

synchronizedBuffer

public static Buffer synchronizedBuffer(Buffer buffer)
Returns a synchronized buffer backed by the given buffer. Much like the synchronized collections returned by Collections, you must manually synchronize on the returned buffer's iterator to avoid non-deterministic behavior:
 Buffer b = BufferUtils.synchronizedBuffer(myBuffer);
 synchronized (b) {
     Iterator i = b.iterator();
     while (i.hasNext()) {
         process (i.next());
     }
 }
 

Parameters:
buffer - the buffer to synchronize, must not be null
Returns:
a synchronized buffer backed by that buffer
Throws:
java.lang.IllegalArgumentException - if the Buffer is null

blockingBuffer

public static Buffer blockingBuffer(Buffer buffer)
Returns a synchronized buffer backed by the given buffer that will block on Buffer.get() and Buffer.remove() operations. If the buffer is empty, then the Buffer.get() and Buffer.remove() operations will block until new elements are added to the buffer, rather than immediately throwing a BufferUnderflowException.

Parameters:
buffer - the buffer to synchronize, must not be null
Returns:
a blocking buffer backed by that buffer
Throws:
java.lang.IllegalArgumentException - if the Buffer is null

unmodifiableBuffer

public static Buffer unmodifiableBuffer(Buffer buffer)
Returns an unmodifiable buffer backed by the given buffer.

Parameters:
buffer - the buffer to make unmodifiable, must not be null
Returns:
an unmodifiable buffer backed by that buffer
Throws:
java.lang.IllegalArgumentException - if the Buffer is null

predicatedBuffer

public static Buffer predicatedBuffer(Buffer buffer,
                                      Predicate predicate)
Returns a predicated buffer backed by the given buffer. Elements are evaluated with the given predicate before being added to the buffer. If the predicate evaluation returns false, then an IllegalArgumentException is raised and the element is not added to the buffer.

Parameters:
buffer - the buffer to predicate, must not be null
predicate - the predicate used to evaluate new elements, must not be null
Returns:
a predicated buffer
Throws:
java.lang.IllegalArgumentException - if the Buffer or Predicate is null


Copyright © 2001-2004 The Apache Software Foundation. All Rights Reserved.