org.apache.commons.collections.buffer
Class TransformedBuffer<I,O>
java.lang.Object
org.apache.commons.collections.collection.AbstractCollectionDecorator<E>
org.apache.commons.collections.collection.AbstractSerializableCollectionDecorator
org.apache.commons.collections.collection.TransformedCollection<I,O>
org.apache.commons.collections.buffer.TransformedBuffer<I,O>
- All Implemented Interfaces:
- Serializable, Iterable, Collection, Buffer
public class TransformedBuffer<I,O>
- extends TransformedCollection<I,O>
- implements Buffer
Decorates another Buffer
to transform objects that are added.
The add methods are affected by this class.
Thus objects must be removed or searched for using their transformed form.
For example, if the transformation converts Strings to Integers, you must
use the Integer form to remove objects.
This class is Serializable from Commons Collections 3.1.
Note: This class cannot support generics without breaking the Collection contract.
- Since:
- Commons Collections 3.0
- Version:
- $Revision: 1.2 $ $Date: 2005/05/23 14:42:13 $
- Author:
- Matt Hall, John Watkinson, Stephen Colebourne
- See Also:
- Serialized Form
Method Summary |
static
|
decorate(Buffer<I> buffer,
Transformer<? super I,? extends O> transformer)
Factory method to create a transforming buffer. |
Object |
get()
Gets the next object from the buffer without removing it. |
protected Buffer<O> |
getBuffer()
Gets the decorated buffer. |
Object |
remove()
Gets and removes the next object from the buffer. |
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 interface java.util.Collection |
add, addAll, clear, contains, containsAll, equals, hashCode, isEmpty, iterator, remove, removeAll, retainAll, size, toArray, toArray |
TransformedBuffer
protected TransformedBuffer(Buffer<I> buffer,
Transformer<? super I,? extends O> transformer)
- Constructor that wraps (not copies).
If there are any elements already in the buffer being decorated, they
are NOT transformed.
- Parameters:
buffer
- the buffer to decorate, must not be nulltransformer
- the transformer to use for conversion, must not be null
- Throws:
IllegalArgumentException
- if buffer or transformer is null
decorate
public static <I,O> Buffer<O> decorate(Buffer<I> buffer,
Transformer<? super I,? extends O> transformer)
- Factory method to create a transforming buffer.
If there are any elements already in the buffer being decorated, they
are NOT transformed.
- Parameters:
buffer
- the buffer to decorate, must not be nulltransformer
- the transformer to use for conversion, must not be null
- Returns:
- a new transformed Buffer
- Throws:
IllegalArgumentException
- if buffer or transformer is null
getBuffer
protected Buffer<O> getBuffer()
- Gets the decorated buffer.
- 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
Copyright © 2005-2005 Apache Software Foundation, Matt Hall, John Watkinson. All Rights Reserved.