org.gjt.sp.jedit.search

## Class BoyerMooreSearchMatcher

- java.lang.Object
- - org.gjt.sp.jedit.search.SearchMatcher
  - - org.gjt.sp.jedit.search.BoyerMooreSearchMatcher

-     public class BoyerMooreSearchMatcher
      extends SearchMatcher

  Implements literal search using the Boyer-Moore algorithm.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.gjt.sp.jedit.search.SearchMatcher

      `SearchMatcher.Match`

  - ### Field Summary

    - ### Fields inherited from class org.gjt.sp.jedit.search.SearchMatcher

      `noWordSep, returnValue, wholeWord`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `BoyerMooreSearchMatcher(java.lang.String pattern, boolean ignoreCase)` Creates a new string literal matcher.
    `BoyerMooreSearchMatcher(java.lang.String pattern, boolean ignoreCase, boolean wholeWord)` Creates a new string literal matcher.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `match(java.lang.CharSequence text, boolean reverse)` a good introduction to the Boyer-Moore fast string matching algorithm may be found on Moore's website at: http://www.cs.utexas.edu/users/moore/best-ideas/string-searching/
    `SearchMatcher.Match` | `nextMatch(java.lang.CharSequence text, boolean start, boolean end, boolean firstTime, boolean reverse)` Returns the offset of the first match of the specified text within this matcher.
    `java.lang.String` | `toString()`

    - ### Methods inherited from class org.gjt.sp.jedit.search.SearchMatcher

      `isWholeWord, setNoWordSep`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### BoyerMooreSearchMatcher

          public BoyerMooreSearchMatcher(java.lang.String pattern,
                                 boolean ignoreCase)

      Creates a new string literal matcher.
      Parameters:
        `pattern` - the search pattern
        `ignoreCase` - `true` if you want to ignore case

    - #### BoyerMooreSearchMatcher

          public BoyerMooreSearchMatcher(java.lang.String pattern,
                                 boolean ignoreCase,
                                 boolean wholeWord)

      Creates a new string literal matcher.
      Parameters:
        `pattern` - the search pattern
        `ignoreCase` - `true` if you want to ignore case
        `wholeWord` - `true` to search for whole word only
      Since:
        4.5pre1

  - ### Method Detail

    - #### nextMatch

          public SearchMatcher.Match nextMatch(java.lang.CharSequence text,
                                      boolean start,
                                      boolean end,
                                      boolean firstTime,
                                      boolean reverse)
                                        throws java.lang.InterruptedException

      Description copied from class: `SearchMatcher`
      Returns the offset of the first match of the specified text within this matcher.
      Specified by:
        `nextMatch` in class `SearchMatcher`
      Parameters:
        `text` - The text to search in
        `start` - True if the start of the text is the beginning of a line
        `end` - True if the end of the text is the end of a line
        `firstTime` - If false and the search string matched at the start offset with length zero, automatically find next match
        `reverse` - If true, searching will be performed in a backward direction.
      Returns:
        A `SearchMatcher.Match` object.
      Throws:
        `java.lang.InterruptedException`

    - #### match

          public int match(java.lang.CharSequence text,
                  boolean reverse)
                    throws java.lang.InterruptedException

      a good introduction to the Boyer-Moore fast string matching algorithm may be found on Moore's website at: http://www.cs.utexas.edu/users/moore/best-ideas/string-searching/
      Throws:
        `java.lang.InterruptedException`
      Since:
        jEdit 4.3pre5

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `java.lang.Object`