org.apache.commons.collections.buffer
Class PredicatedBuffer

java.lang.Object
  |
  +--org.apache.commons.collections.collection.AbstractCollectionDecorator
        |
        +--org.apache.commons.collections.collection.PredicatedCollection
              |
              +--org.apache.commons.collections.buffer.PredicatedBuffer
All Implemented Interfaces:
Buffer, Collection

public class PredicatedBuffer
extends PredicatedCollection
implements Buffer

Decorates another Buffer to validate that additions match a specified predicate.

If an object cannot be added to the collection, an IllegalArgumentException is thrown.

Since:
Commons Collections 3.0
Version:
$Revision: 1.2 $ $Date: 2004/01/14 21:43:08 $
Author:
Stephen Colebourne, Paul Jack

Fields inherited from class org.apache.commons.collections.collection.PredicatedCollection
predicate
 
Fields inherited from class org.apache.commons.collections.collection.AbstractCollectionDecorator
collection
 
Constructor Summary
protected PredicatedBuffer(Buffer buffer, Predicate predicate)
          Constructor that wraps (not copies).
 
Method Summary
static Buffer decorate(Buffer buffer, Predicate predicate)
          Factory method to create a predicated (validating) 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.PredicatedCollection
add, addAll, decorate, validate
 
Methods inherited from class org.apache.commons.collections.collection.AbstractCollectionDecorator
clear, contains, containsAll, equals, getCollection, 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

PredicatedBuffer

protected PredicatedBuffer(Buffer buffer,
                           Predicate predicate)
Constructor that wraps (not copies).

If there are any elements already in the collection being decorated, they are validated.

Parameters:
buffer - the buffer to decorate, must not be null
predicate - the predicate to use for validation, must not be null
Throws:
IllegalArgumentException - if buffer or predicate is null
IllegalArgumentException - if the buffer contains invalid elements
Method Detail

decorate

public static Buffer decorate(Buffer buffer,
                              Predicate predicate)
Factory method to create a predicated (validating) buffer.

If there are any elements already in the buffer being decorated, they are validated.

Parameters:
buffer - the buffer to decorate, must not be null
predicate - the predicate to use for validation, must not be null
Throws:
IllegalArgumentException - if buffer or predicate is null
IllegalArgumentException - if the buffer contains invalid elements

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
Following copied from interface: org.apache.commons.collections.Buffer
Returns:
the next object in the buffer, which is not removed
Throws:
BufferUnderflowException - if the buffer is empty

remove

public Object remove()
Description copied from interface: Buffer
Gets and removes the next object from the buffer.
Specified by:
remove in interface Buffer
Following copied from interface: org.apache.commons.collections.Buffer
Returns:
the next object in the buffer, which is also removed
Throws:
BufferUnderflowException - if the buffer is already empty


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