Package com.swabunga.spell.event
Class AbstractWordFinder
java.lang.Object
com.swabunga.spell.event.AbstractWordFinder
- All Implemented Interfaces:
WordFinder
- Direct Known Subclasses:
DefaultWordFinder,JavaWordFinder,TeXWordFinder,XMLWordFinder
Defines common methods and behaviour for the various word finding
subclasses.
- Author:
- Anthony Roy (ajr@antroy.co.uk)
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected WordThe word being analyzedprotected WordThe word following the current oneprotected BreakIteratorAn iterator to work through the sentenceprotected booleanIndicate if the current word starts a new sentenceprotected StringHolds the text to analyze -
Constructor Summary
ConstructorsConstructorDescriptionCreates a new default AbstractWordFinder object.AbstractWordFinder(String inText) Creates a new AbstractWordFinder object. -
Method Summary
Modifier and TypeMethodDescriptioncurrent()Returns the current word in the iteration .getText()Return the text being searched.booleanhasNext()Indicates if there is some more word to analyzeprotected intignore(int index, char startIgnore) Ignores or skip over text starting from the index position specified if it contains thestartIgnore, and until the first non letter or digit character is encountered or end of text is detected.protected intignore(int index, char startIgnore, char endIgnore) Ignores or skip over text starting from the index position specified if it contains thestartIgnore, and until theendIgnorecharacter is encountered or end of text is detected.protected intIgnores or skip over text starting from the index position specified if it contains thestartIgnore, and until theendIgnorecharacter is encountered or end of text is detected.protected intIgnores or skip over text starting from the index position specified if it contains thestartIgnorestring, and until theendIgnorestring is encountered or end of text is detected.protected voidinit()Initializes the sentenseIteratorprotected booleanisWordChar(char c) Indicates if the character at the specified character is acceptable as part of a word.protected booleanisWordChar(int posn) Indicates if the character at the specified position is acceptable as part of a word.abstract Wordnext()This method scans the text from the end of the last word, and returns a new Word object corresponding to the next word.voidReplace the current word in the search with a replacement string.protected voidAdjusts the sentence iterator and the startSentence flag according to the currentWord.voidDefines the text to search.booleanIndicates if the current word starts a new sentence.toString()Return the text being searched.
-
Field Details
-
currentWord
The word being analyzed -
nextWord
The word following the current one -
startsSentence
protected boolean startsSentenceIndicate if the current word starts a new sentence -
text
Holds the text to analyze -
sentenceIterator
An iterator to work through the sentence
-
-
Constructor Details
-
AbstractWordFinder
Creates a new AbstractWordFinder object.- Parameters:
inText- the String to iterate through.
-
AbstractWordFinder
public AbstractWordFinder()Creates a new default AbstractWordFinder object.
-
-
Method Details
-
next
This method scans the text from the end of the last word, and returns a new Word object corresponding to the next word.- Specified by:
nextin interfaceWordFinder- Returns:
- the following word.
-
getText
Return the text being searched. May have changed since first set through calls to replace.- Specified by:
getTextin interfaceWordFinder- Returns:
- the text being searched.
-
setText
Defines the text to search.- Specified by:
setTextin interfaceWordFinder- Parameters:
newText- The text to be analyzed
-
current
Returns the current word in the iteration .- Specified by:
currentin interfaceWordFinder- Returns:
- the current word.
- Throws:
WordNotFoundException- current word has not yet been set.
-
hasNext
public boolean hasNext()Indicates if there is some more word to analyze- Specified by:
hasNextin interfaceWordFinder- Returns:
- true if there are further words in the string.
-
replace
Replace the current word in the search with a replacement string.- Specified by:
replacein interfaceWordFinder- Parameters:
newWord- the replacement string.- Throws:
WordNotFoundException- current word has not yet been set.
-
startsSentence
public boolean startsSentence()Description copied from interface:WordFinderIndicates if the current word starts a new sentence.- Specified by:
startsSentencein interfaceWordFinder- Returns:
- true if the current word starts a new sentence.
- Throws:
WordNotFoundException- current word has not yet been set.
-
toString
Return the text being searched. May have changed since first set through calls to replace. -
setSentenceIterator
Adjusts the sentence iterator and the startSentence flag according to the currentWord.- Parameters:
wd- the wd parameter is not presently used.
-
isWordChar
protected boolean isWordChar(int posn) Indicates if the character at the specified position is acceptable as part of a word. To be acceptable, the character need to be a letter or a digit. It is also acceptable if the character is one of ''', '@', '.' or '_' and is preceded and followed by letter or digit.- Parameters:
posn- The character position to analyze.- Returns:
- true if the character is a letter or digit
-
isWordChar
protected boolean isWordChar(char c) Indicates if the character at the specified character is acceptable as part of a word. To be acceptable, the character need to be a letter or a digit or a ' (an apostrophe).- Parameters:
c- The character to evaluates if it can be part of a word- Returns:
- true if the character is a letter, digit or a ' (an apostrophe).
-
ignore
protected int ignore(int index, char startIgnore) Ignores or skip over text starting from the index position specified if it contains thestartIgnore, and until the first non letter or digit character is encountered or end of text is detected.- Parameters:
index- The start position in text.startIgnore- The character that should be atindexposition to start skipping through.- Returns:
- The index position pointing after the skipped characters or the original index if the ignore condition could not be met.
-
ignore
protected int ignore(int index, char startIgnore, char endIgnore) Ignores or skip over text starting from the index position specified if it contains thestartIgnore, and until theendIgnorecharacter is encountered or end of text is detected.- Parameters:
index- The start position in text.startIgnore- The character that should be atindexposition to start skipping through.endIgnore- The character which mark the end of skipping through. If the value of endIgnore isnull, skipping characters stop at first non letter or digit character.- Returns:
- The index position pointing after the skipped characters or the original index if the ignore condition could not be met.
-
ignore
Ignores or skip over text starting from the index position specified if it contains thestartIgnore, and until theendIgnorecharacter is encountered or end of text is detected.- Parameters:
index- The start position in text.startIgnore- The character that should be atindexposition to start skipping through.endIgnore- The character which mark the end of skipping through. If the value of endIgnore isnull, skipping characters stop at first non letter or digit character.- Returns:
- The index position pointing after the skipped characters or the original index if the ignore condition could not be met.
-
ignore
Ignores or skip over text starting from the index position specified if it contains thestartIgnorestring, and until theendIgnorestring is encountered or end of text is detected.- Parameters:
index- The start position in text.startIgnore- The string that should be atindexposition to start skipping through.endIgnore- The string which mark the end of skipping through.- Returns:
- The index position pointing after the skipped characters or the original index if the ignore condition could not be met.
-
init
protected void init()Initializes the sentenseIterator
-