Class TransformedSortedBag<E>

Type Parameters:
E - the type of elements in this bag
All Implemented Interfaces:
Serializable, Iterable<E>, Collection<E>, Bag<E>, SortedBag<E>

public class TransformedSortedBag<E> extends TransformedBag<E> implements SortedBag<E>
Decorates another SortedBag 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
See Also:
  • Constructor Details

    • TransformedSortedBag

      protected TransformedSortedBag(SortedBag<E> bag, Transformer<? super E,? extends E> transformer)
      Constructor that wraps (not copies).

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

      Parameters:
      bag - the bag to decorate, must not be null
      transformer - the transformer to use for conversion, must not be null
      Throws:
      NullPointerException - if bag or transformer is null
  • Method Details

    • transformedSortedBag

      public static <E> TransformedSortedBag<E> transformedSortedBag(SortedBag<E> bag, Transformer<? super E,? extends E> transformer)
      Factory method to create a transforming sorted bag that will transform existing contents of the specified sorted bag.

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

      Type Parameters:
      E - the type of the elements in the bag
      Parameters:
      bag - the bag to decorate, must not be null
      transformer - the transformer to use for conversion, must not be null
      Returns:
      a new transformed SortedBag
      Throws:
      NullPointerException - if bag or transformer is null
      Since:
      4.0
    • transformingSortedBag

      public static <E> TransformedSortedBag<E> transformingSortedBag(SortedBag<E> bag, Transformer<? super E,? extends E> transformer)
      Factory method to create a transforming sorted bag.

      If there are any elements already in the bag being decorated, they are NOT transformed. Contrast this with transformedSortedBag(SortedBag, Transformer).

      Type Parameters:
      E - the type of the elements in the bag
      Parameters:
      bag - the bag to decorate, must not be null
      transformer - the transformer to use for conversion, must not be null
      Returns:
      a new transformed SortedBag
      Throws:
      NullPointerException - if bag or transformer is null
      Since:
      4.0
    • comparator

      public Comparator<? super E> comparator()
      Description copied from interface: SortedBag
      Returns the comparator associated with this sorted set, or null if it uses its elements' natural ordering.
      Specified by:
      comparator in interface SortedBag<E>
      Returns:
      the comparator in use, or null if natural ordering
    • first

      public E first()
      Description copied from interface: SortedBag
      Returns the first (lowest) member.
      Specified by:
      first in interface SortedBag<E>
      Returns:
      the first element in the sorted bag
    • getSortedBag

      protected SortedBag<E> getSortedBag()
      Gets the decorated bag.
      Returns:
      the decorated bag
    • last

      public E last()
      Description copied from interface: SortedBag
      Returns the last (highest) member.
      Specified by:
      last in interface SortedBag<E>
      Returns:
      the last element in the sorted bag