harpoon.Util.Collections
Class CollectionFactory

java.lang.Object
  |
  +--harpoon.Util.Collections.CollectionFactory
Direct Known Subclasses:
ListFactory, SetFactory

public abstract class CollectionFactory
extends Object

CollectionFactory is a Collection generator. Subclasses should implement constructions of specific types of Collections. Note that since some types of Collections have implicit constraints (such as Sets, which cannot contain more than one of the same element), code which uses the classes produced by CollectionFactorys must take care not to assume more than what is guaranteed by the Collection interface.

Version:
$Id: CollectionFactory.java,v 1.2 2002/02/25 21:09:04 cananian Exp $
Author:
Felix S. Klock II <pnkfelix@mit.edu>

Constructor Summary
CollectionFactory()
          Creates a CollectionFactory.
 
Method Summary
 Collection makeCollection()
          Generates a new, mutable, empty Collection.
abstract  Collection makeCollection(Collection c)
          Generates a new, mutable Collection, using the elements of c as a template for its initial contents.
 Collection makeCollection(int initialCapacity)
          Generates a new, mutable, empty Collection, using initialCapacity as a hint to use for the capacity for the produced Collection.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CollectionFactory

public CollectionFactory()
Creates a CollectionFactory.

Method Detail

makeCollection

public final Collection makeCollection()
Generates a new, mutable, empty Collection.


makeCollection

public Collection makeCollection(int initialCapacity)
Generates a new, mutable, empty Collection, using initialCapacity as a hint to use for the capacity for the produced Collection.


makeCollection

public abstract Collection makeCollection(Collection c)
Generates a new, mutable Collection, using the elements of c as a template for its initial contents. Note that the Collection returned is not a view of c, but rather a snapshot; changes to c are not reflected in the returned Collection.