package com.madbean.kata8.readable; import java.util.HashSet; import java.util.Iterator; import java.util.Set; /** * * @author Matt Quail * @see Kata 8 */ public class ReadableAlg extends BaseAlg { /** set of words in the wordlist */ private Set words = new HashSet(); public void addWord(String aWord) { words.add(aWord); } public void iterateOverPotentialResultWords() { for (Iterator i = words.iterator(); i.hasNext();) { String word = (String) i.next(); if (! isValidResultWordLength(word.length())) { // too big, or too small, we only want to look at words // of a particular size continue; } generateSubstrings(word); } } public boolean validWords(String aLeadingWord, String aTrailingWord) { return words.contains(aLeadingWord) && words.contains(aTrailingWord); } }