⇒ Index (Frames) |  ⇒ Index (No Frames) |  ⇒ Package |  ⇒ Package Tree |  ⇒ Full Tree 
org.apache.commons.collections.bag

Class TransformedBag

java.lang.Object
|
+--org.apache.commons.collections.collection.AbstractCollectionDecorator
   |
   +--org.apache.commons.collections.collection.TransformedCollection
      |
      +--org.apache.commons.collections.bag.TransformedBag

All Implemented Interfaces:
Collection, Bag

Known Direct Subclasses:
TransformedSortedBag


public class TransformedBag
extends TransformedCollection
implements Bag

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

Since:
Commons Collections 3.0
Author:
Stephen Colebourne

Constructor Summary

TransformedBag(Bag bag, Transformer transformer)

Constructor that wraps (not copies).

Method Summary

boolean

add(Object object, int nCopies)

static Bag

decorate(Bag bag, Transformer transformer)

Factory method to create a transforming bag.

Bag

getBag()

Gets the decorated bag.

int

getCount(Object object)

boolean

remove(Object object, int nCopies)

Set

uniqueSet()

Constructor Details

TransformedBag

protected TransformedBag(Bag bag, Transformer 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:
- if bag or transformer is null

Method Details

add

public boolean add(Object object, int nCopies)

Parameters:
object
nCopies

decorate

public static Bag decorate(Bag bag, Transformer transformer)

Factory method to create a transforming bag.

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:
- if bag or transformer is null

getBag

protected Bag getBag()

Gets the decorated bag.

Returns:
the decorated bag

getCount

public int getCount(Object object)

Parameters:
object

remove

public boolean remove(Object object, int nCopies)

Parameters:
object
nCopies

uniqueSet

public Set uniqueSet()