/*
 * WordBagFactory.java
 * Created on Feb 24, 2005
 */
package word;

/**
 * For creating word bags.
 */
public abstract class WordBagFactory {
    
    public static WordBagFactory WORD_TREE_BAG_FACTORY =
        new WordTreeBagFactory();
    
    public static WordBagFactory WORD_HASH_BAG_FACTORY =
        new WordHashBagFactory();
    
    private WordBagFactory() {}
    
    public abstract WordBag makeWordBag();
    
    private static class WordTreeBagFactory extends WordBagFactory {
        public WordBag makeWordBag() {
            return new WordTreeBag();
        }
    }
    
    private static class WordHashBagFactory extends WordBagFactory {
        public WordBag makeWordBag() {
            return new WordHashBag();
        }
    }

}
