org.apache.commons.collections.bag
Class TypedBag

java.lang.Object
  extended by org.apache.commons.collections.bag.TypedBag

public class TypedBag
extends java.lang.Object

Decorates another Bag to validate that elements added are of a specific type.

The validation of additions is performed via an instanceof test against a specified Class. If an object cannot be added to the collection, an IllegalArgumentException is thrown.

Since:
Commons Collections 3.0
Version:
$Revision: 646777 $ $Date: 2008-04-10 13:33:15 +0100 (Thu, 10 Apr 2008) $
Author:
Stephen Colebourne, Matthew Hawthorne

Constructor Summary
protected TypedBag()
          Restrictive constructor.
 
Method Summary
static Bag decorate(Bag bag, java.lang.Class type)
          Factory method to create a typed bag.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TypedBag

protected TypedBag()
Restrictive constructor.

Method Detail

decorate

public static Bag decorate(Bag bag,
                           java.lang.Class type)
Factory method to create a typed 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
type - the type to allow into the bag, must not be null
Returns:
a new typed Bag
Throws:
java.lang.IllegalArgumentException - if bag or type is null
java.lang.IllegalArgumentException - if the bag contains invalid elements


Copyright © 2001-2008 The Apache Software Foundation. All Rights Reserved.