Class AbstractWordFinder

    • Field Summary

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

      Constructors 
      Constructor Description
      AbstractWordFinder()
      Creates a new default AbstractWordFinder object.
      AbstractWordFinder​(java.lang.String inText)
      Creates a new AbstractWordFinder object.
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      Word current()
      Returns the current word in the iteration .
      java.lang.String getText()
      Return the text being searched.
      boolean hasNext()
      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, java.lang.Character startIgnore, java.lang.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, java.lang.String startIgnore, java.lang.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 init()
      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 next()
      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​(java.lang.String newWord)
      Replace the current word in the search with a replacement string.
      protected void setSentenceIterator​(Word wd)
      Adjusts the sentence iterator and the startSentence flag according to the currentWord.
      void setText​(java.lang.String newText)
      Defines the text to search.
      boolean startsSentence()
      Indicates if the current word starts a new sentence.
      java.lang.String toString()
      Return the text being searched.
      • Methods inherited from class java.lang.Object

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

      • 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 java.lang.String text
        Holds the text to analyze
      • sentenceIterator

        protected java.text.BreakIterator sentenceIterator
        An iterator to work through the sentence
    • Constructor Detail

      • AbstractWordFinder

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

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

      • 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 java.lang.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​(java.lang.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​(java.lang.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 java.lang.String toString()
        Return the text being searched. May have changed since first set through calls to replace.
        Overrides:
        toString in class java.lang.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,
                             java.lang.Character startIgnore,
                             java.lang.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,
                             java.lang.String startIgnore,
                             java.lang.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