package org.seqcode.gseutils.strings.multipattern; import java.util.Iterator; import java.util.NoSuchElementException; /** Iterator returns a list of Search matches. */ class Searcher implements Iterator { private SearchResult currentResult; private AhoCorasick tree; Searcher(AhoCorasick tree, SearchResult result) { this.tree = tree; this.currentResult = result; } public boolean hasNext() { return (this.currentResult != null); } public Object next() { if (!hasNext()) throw new NoSuchElementException(); Object result = currentResult; currentResult = tree.continueSearch(currentResult); return result; } public void remove() { throw new UnsupportedOperationException(); } }