Class AbstractWordFinder

java.lang.Object
com.swabunga.spell.event.AbstractWordFinder
All Implemented Interfaces:
WordFinder
Direct Known Subclasses:
DefaultWordFinder, JavaWordFinder, TeXWordFinder, XMLWordFinder

public abstract class AbstractWordFinder extends Object implements WordFinder
Defines common methods and behaviour for the various word finding subclasses.
Author:
Anthony Roy (ajr@antroy.co.uk)
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected Word
    The word being analyzed
    protected Word
    The word following the current one
    protected BreakIterator
    An iterator to work through the sentence
    protected boolean
    Indicate if the current word starts a new sentence
    protected String
    Holds the text to analyze
  • Constructor Summary

    Constructors
    Constructor
    Description
    Creates a new default AbstractWordFinder object.
    Creates a new AbstractWordFinder object.
  • Method Summary

    Modifier and Type
    Method
    Description
    Returns the current word in the iteration .
    Return the text being searched.
    boolean
    Indicates if there is some more word to analyze
    protected int
    ignore(int index, char startIgnore)
    Ignores or skip over text starting from the index position specified if it contains the startIgnore, and until the first non letter or digit character is encountered or end of text is detected.
    protected int
    ignore(int index, char startIgnore, char endIgnore)
    Ignores or skip over text starting from the index position specified if it contains the startIgnore, and until the endIgnore character is encountered or end of text is detected.
    protected int
    ignore(int index, Character startIgnore, Character endIgnore)
    Ignores or skip over text starting from the index position specified if it contains the startIgnore, and until the endIgnore character is encountered or end of text is detected.
    protected int
    ignore(int index, String startIgnore, String endIgnore)
    Ignores or skip over text starting from the index position specified if it contains the startIgnore string, and until the endIgnore string is encountered or end of text is detected.
    protected void
    Initializes the sentenseIterator
    protected boolean
    isWordChar(char c)
    Indicates if the character at the specified character is acceptable as part of a word.
    protected boolean
    isWordChar(int posn)
    Indicates if the character at the specified position is acceptable as part of a word.
    abstract Word
    This method scans the text from the end of the last word, and returns a new Word object corresponding to the next word.
    void
    replace(String newWord)
    Replace the current word in the search with a replacement string.
    protected void
    Adjusts the sentence iterator and the startSentence flag according to the currentWord.
    void
    setText(String newText)
    Defines the text to search.
    boolean
    Indicates if the current word starts a new sentence.
    Return the text being searched.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Field Details

    • currentWord

      protected Word currentWord
      The word being analyzed
    • nextWord

      protected Word nextWord
      The word following the current one
    • startsSentence

      protected boolean startsSentence
      Indicate if the current word starts a new sentence
    • text

      protected String text
      Holds the text to analyze
    • sentenceIterator

      protected BreakIterator sentenceIterator
      An iterator to work through the sentence
  • Constructor Details

    • AbstractWordFinder

      public AbstractWordFinder(String inText)
      Creates a new AbstractWordFinder object.
      Parameters:
      inText - the String to iterate through.
    • AbstractWordFinder

      public AbstractWordFinder()
      Creates a new default AbstractWordFinder object.
  • Method Details

    • next

      public abstract Word 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:
      next in interface WordFinder
      Returns:
      the following word.
    • getText

      public String getText()
      Return the text being searched. May have changed since first set through calls to replace.
      Specified by:
      getText in interface WordFinder
      Returns:
      the text being searched.
    • setText

      public void setText(String newText)
      Defines the text to search.
      Specified by:
      setText in interface WordFinder
      Parameters:
      newText - The text to be analyzed
    • current

      public Word current()
      Returns the current word in the iteration .
      Specified by:
      current in interface WordFinder
      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:
      hasNext in interface WordFinder
      Returns:
      true if there are further words in the string.
    • replace

      public void replace(String newWord)
      Replace the current word in the search with a replacement string.
      Specified by:
      replace in interface WordFinder
      Parameters:
      newWord - the replacement string.
      Throws:
      WordNotFoundException - current word has not yet been set.
    • startsSentence

      public boolean startsSentence()
      Description copied from interface: WordFinder
      Indicates if the current word starts a new sentence.
      Specified by:
      startsSentence in interface WordFinder
      Returns:
      true if the current word starts a new sentence.
      Throws:
      WordNotFoundException - current word has not yet been set.
    • toString

      public String toString()
      Return the text being searched. May have changed since first set through calls to replace.
      Overrides:
      toString in class Object
      Returns:
      the text being searched.
    • setSentenceIterator

      protected void setSentenceIterator(Word wd)
      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 the startIgnore, 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 at index position 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 the startIgnore, and until the endIgnore character is encountered or end of text is detected.
      Parameters:
      index - The start position in text.
      startIgnore - The character that should be at index position to start skipping through.
      endIgnore - The character which mark the end of skipping through. If the value of endIgnore is null, 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

      protected int ignore(int index, Character startIgnore, Character endIgnore)
      Ignores or skip over text starting from the index position specified if it contains the startIgnore, and until the endIgnore character is encountered or end of text is detected.
      Parameters:
      index - The start position in text.
      startIgnore - The character that should be at index position to start skipping through.
      endIgnore - The character which mark the end of skipping through. If the value of endIgnore is null, 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

      protected int ignore(int index, String startIgnore, String endIgnore)
      Ignores or skip over text starting from the index position specified if it contains the startIgnore string, and until the endIgnore string is encountered or end of text is detected.
      Parameters:
      index - The start position in text.
      startIgnore - The string that should be at index position 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