org.apache.commons.collections.bag

Class PredicatedBag

public class PredicatedBag extends PredicatedCollection implements Bag

Decorates another Bag to validate that additions match a specified predicate.

This bag exists to provide validation for the decorated bag. It is normally created to decorate an empty bag. If an object cannot be added to the bag, an IllegalArgumentException is thrown.

One usage would be to ensure that no null entries are added to the bag.

Bag bag = PredicatedBag.decorate(new HashBag(), NotNullPredicate.INSTANCE);

This class is Serializable from Commons Collections 3.1.

Since: Commons Collections 3.0

Version: $Revision: 155406 $ $Date: 2005-02-26 12:55:26 +0000 (Sat, 26 Feb 2005) $

Author: Stephen Colebourne Paul Jack

Constructor Summary
protected PredicatedBag(Bag bag, Predicate predicate)
Constructor that wraps (not copies).
Method Summary
booleanadd(Object object, int count)
static Bagdecorate(Bag bag, Predicate predicate)
Factory method to create a predicated (validating) bag.
protected BaggetBag()
Gets the decorated bag.
intgetCount(Object object)
booleanremove(Object object, int count)
SetuniqueSet()

Constructor Detail

PredicatedBag

protected PredicatedBag(Bag bag, Predicate predicate)
Constructor that wraps (not copies).

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

Parameters: bag the bag to decorate, must not be null predicate the predicate to use for validation, must not be null

Throws: IllegalArgumentException if bag or predicate is null IllegalArgumentException if the bag contains invalid elements

Method Detail

add

public boolean add(Object object, int count)

decorate

public static Bag decorate(Bag bag, Predicate predicate)
Factory method to create a predicated (validating) bag.

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

Parameters: bag the bag to decorate, must not be null predicate the predicate to use for validation, must not be null

Returns: a new predicated Bag

Throws: IllegalArgumentException if bag or predicate is null IllegalArgumentException if the bag contains invalid elements

getBag

protected Bag getBag()
Gets the decorated bag.

Returns: the decorated bag

getCount

public int getCount(Object object)

remove

public boolean remove(Object object, int count)

uniqueSet

public Set uniqueSet()
Copyright © 2001-2008 Apache Software Foundation. All Rights Reserved.