org.apache.commons.collections4.set

## Class TransformedSet<E>

- java.lang.Object
- - org.apache.commons.collections4.collection.AbstractCollectionDecorator<E>
  - - org.apache.commons.collections4.collection.TransformedCollection<E>
    - - 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

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `TransformedSet(Set<E> set, Transformer<? super E,? extends E> transformer)` Constructor that wraps (not copies).

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `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.