com.swabunga.spell.event

Interface WordFinder

public interface WordFinder

An interface for objects which take a String as input, and iterates through the words in the string.

When the object is instantiated, and before the first call to next() is made, the following methods should throw a WordNotFoundException:
current(), startsSentence() and replace().

A call to next() when hasMoreWords() returns false should throw a WordNotFoundException.

Author: Jason Height (jheight@chariot.net.au)

Method Summary
Wordcurrent()
This method should return the Word object representing the current word in the iteration.
StringgetText()
This method returns the text through which the WordFinder is iterating.
booleanhasNext()
Tests the finder to see if any more words are available.
Wordnext()
This method should return the Word object representing the next word in the iteration (the first word if next() has not yet been called.)
voidreplace(String newWord)
This method should replace the current Word object with a Word object representing the String newWord.
voidsetText(String newText)
This method resets the text through which the WordFinder iterates.
booleanstartsSentence()
Indicates if the current word starts a new sentence.

Method Detail

current

public Word current()
This method should return the Word object representing the current word in the iteration. This method should not affect the state of the WordFinder object.

Returns: the current Word object.

Throws: WordNotFoundException current word has not yet been set.

getText

public String getText()
This method returns the text through which the WordFinder is iterating. The text may have been modified through calls to replace().

Returns: the (possibly modified) text being searched.

hasNext

public boolean hasNext()
Tests the finder to see if any more words are available.

Returns: true if more words are available.

next

public Word next()
This method should return the Word object representing the next word in the iteration (the first word if next() has not yet been called.)

Returns: the next Word in the iteration.

Throws: WordNotFoundException search string contains no more words.

replace

public void replace(String newWord)
This method should replace the current Word object with a Word object representing the String newWord.

Parameters: newWord the word to replace the current word with.

Throws: WordNotFoundException current word has not yet been set.

setText

public void setText(String newText)
This method resets the text through which the WordFinder iterates. It must also re-initialize the WordFinder.

Parameters: newText the new text to search.

startsSentence

public boolean startsSentence()
Indicates if the current word starts a new sentence.

Returns: true if the current word starts a new sentence.

Throws: WordNotFoundException current word has not yet been set.