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
`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`