org.apache.commons.collections4.set
Class TransformedSet<E>

java.lang.Object
  extended by org.apache.commons.collections4.collection.AbstractCollectionDecorator<E>
      extended by org.apache.commons.collections4.collection.TransformedCollection<E>
          extended by org.apache.commons.collections4.set.TransformedSet<E>
All Implemented Interfaces:
Serializable, Iterable<E>, Collection<E>, Set<E>
Direct Known Subclasses:
TransformedSortedSet

public class TransformedSet<E>
extends TransformedCollection<E>
implements Set<E>

Decorates another Set 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.

Since:
3.0
Version:
$Id: TransformedSet.java 1479406 2013-05-05 22:02:01Z tn $
See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.apache.commons.collections4.collection.TransformedCollection
transformer
 
Constructor Summary
protected TransformedSet(Set<E> set, Transformer<? super E,? extends E> transformer)
          Constructor that wraps (not copies).
 
Method Summary
static
<E> Set<E>
transformedSet(Set<E> set, Transformer<? super E,? extends E> transformer)
          Factory method to create a transforming set that will transform existing contents of the specified set.
static
<E> TransformedSet<E>
transformingSet(Set<E> set, Transformer<? super E,? extends E> transformer)
          Factory method to create a transforming set.
 
Methods inherited from class org.apache.commons.collections4.collection.TransformedCollection
add, addAll, transform, transform, transformedCollection, transformingCollection
 
Methods inherited from class org.apache.commons.collections4.collection.AbstractCollectionDecorator
clear, contains, containsAll, decorated, equals, hashCode, isEmpty, iterator, remove, removeAll, retainAll, setCollection, 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.Set
add, addAll, clear, contains, containsAll, equals, hashCode, isEmpty, iterator, remove, removeAll, retainAll, size, toArray, toArray
 

Constructor Detail

TransformedSet

protected TransformedSet(Set<E> set,
                         Transformer<? super E,? extends E> transformer)
Constructor that wraps (not copies).

If there are any elements already in the set being decorated, they are NOT transformed.

Parameters:
set - the set to decorate, must not be null
transformer - the transformer to use for conversion, must not be null
Throws:
IllegalArgumentException - if set or transformer is null
Method Detail

transformingSet

public static <E> TransformedSet<E> transformingSet(Set<E> set,
                                                    Transformer<? super E,? extends E> transformer)
Factory method to create a transforming set.

If there are any elements already in the set being decorated, they are NOT transformed. Contrast this with transformedSet(Set, Transformer).

Type Parameters:
E - the element type
Parameters:
set - the set to decorate, must not be null
transformer - the transformer to use for conversion, must not be null
Returns:
a new transformed set
Throws:
IllegalArgumentException - if set or transformer is null
Since:
4.0

transformedSet

public static <E> Set<E> transformedSet(Set<E> set,
                                        Transformer<? super E,? extends E> transformer)
Factory method to create a transforming set that will transform existing contents of the specified set.

If there are any elements already in the set being decorated, they will be transformed by this method. Contrast this with transformingSet(Set, Transformer).

Type Parameters:
E - the element type
Parameters:
set - the set to decorate, must not be null
transformer - the transformer to use for conversion, must not be null
Returns:
a new transformed set
Throws:
IllegalArgumentException - if set or transformer is null
Since:
4.0


Copyright © 2001–2013 The Apache Software Foundation. All rights reserved.