org.apache.commons.collections.buffer

Class PredicatedBuffer

Implemented Interfaces:
Buffer, Collection, Serializable

public class PredicatedBuffer
extends PredicatedCollection
implements Buffer

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

This buffer exists to provide validation for the decorated buffer. It is normally created to decorate an empty buffer. If an object cannot be added to the buffer, an IllegalArgumentException is thrown.

One usage would be to ensure that no null entries are added to the buffer.

Buffer buffer = PredicatedBuffer.decorate(new UnboundedFifoBuffer(), NotNullPredicate.INSTANCE);

This class is Serializable from Commons Collections 3.1.

Version:
$Revision: 1.7 $ $Date: 2004/06/03 22:02:13 $
Authors:
Stephen Colebourne
Paul Jack
Since:
Commons Collections 3.0

Field Summary

Fields inherited from class org.apache.commons.collections.collection.PredicatedCollection

predicate

Fields inherited from class org.apache.commons.collections.collection.AbstractCollectionDecorator

collection

Constructor Summary

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

add, addAll, clear, contains, containsAll, equals, getCollection, hashCode, isEmpty, iterator, remove, removeAll, retainAll, size, toArray, toArray, toString

Constructor Details

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

Method Details

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
Returns:
a new predicated Buffer

get

public Object get()
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

getBuffer

protected Buffer getBuffer()
Gets the buffer being decorated.
Returns:
the decorated buffer

remove

public Object remove()
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-2006 Apache Software Foundation. All Rights Reserved.