This package contains implementations of the java.util.Collection Collection interface.

The following implementations are provided in the package:

  • CompositeCollection - a collection that combines multiple collections into one
The following decorators are provided in the package:
  • Synchronized - synchronizes method access for multi-threaded environments
  • Unmodifiable - ensures the collection cannot be altered
  • Predicated - ensures that only elements that are valid according to a predicate can be added
  • Typed - ensures that only elements that are of a specific type can be added
  • Transformed - transforms elements as they are added


CompositeCollection.CollectionMutator Pluggable strategy to handle changes to the composite. 


AbstractCollectionDecorator Decorates another Collection to provide additional behaviour. 
AbstractSerializableCollectionDecorator Serializable subclass of AbstractCollectionDecorator. 
CompositeCollection Decorates a collection of other collections to provide a single unified view. 
PredicatedCollection Decorates another Collection to validate that additions match a specified predicate. 
SynchronizedCollection Decorates another Collection to synchronize its behaviour for a multi-threaded environment. 
TransformedCollection Decorates another Collection to transform objects that are added. 
TypedCollection Decorates a Collection to validate that elements added are of a specific type. 
UnmodifiableBoundedCollection UnmodifiableBoundedCollection decorates another BoundedCollection to ensure it can't be altered. 
UnmodifiableCollection Decorates another Collection to ensure it can't be altered.