ghm.follow.search
Class SearchEngine

java.lang.Object
  extended byghm.follow.search.SearchEngine
All Implemented Interfaces:
javax.swing.event.DocumentListener, java.util.EventListener

public class SearchEngine
extends java.lang.Object
implements javax.swing.event.DocumentListener

Searches through text based on flags passed at time of search.

Author:
chall

Field Summary
static int CASE_SENSITIVE
           
protected  javax.swing.text.Document doc
           
static int REGEX
           
protected  java.lang.String text
           
protected  SearchableTextPane textPane
           
 
Constructor Summary
SearchEngine(SearchableTextPane textPane)
          Constructor for search text and tracking display elements for results list
SearchEngine(java.lang.String text)
          Constructor for searching text without keeping track of any display elements.
 
Method Summary
 void changedUpdate(javax.swing.event.DocumentEvent arg0)
          Inherited from javax.swing.event.DocumentListener
 void insertUpdate(javax.swing.event.DocumentEvent arg0)
          Inherited from javax.swing.event.DocumentListener
protected  LineResult[] regexSearch(java.util.regex.Pattern p, java.lang.String text)
          Searches text using the provided Pattern

Thanks to prec in #regex for correcting the use of Matcher.
 void removeUpdate(javax.swing.event.DocumentEvent arg0)
          Inherited from javax.swing.event.DocumentListener
 LineResult[] search(java.lang.String term, int flags)
          Search for term.
protected  LineResult[] textSearch(java.lang.String term, java.lang.String text)
          Searches text for term by performing a simple text search.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CASE_SENSITIVE

public static final int CASE_SENSITIVE
See Also:
Constant Field Values

REGEX

public static final int REGEX
See Also:
Constant Field Values

textPane

protected SearchableTextPane textPane

doc

protected javax.swing.text.Document doc

text

protected java.lang.String text
Constructor Detail

SearchEngine

public SearchEngine(SearchableTextPane textPane)
Constructor for search text and tracking display elements for results list

Parameters:
textPane -

SearchEngine

public SearchEngine(java.lang.String text)
Constructor for searching text without keeping track of any display elements.

Parameters:
text -
Method Detail

search

public LineResult[] search(java.lang.String term,
                           int flags)
Search for term. Use the constants of this class for flags.

Parameters:
term -
Returns:
An array of found positions of term

textSearch

protected LineResult[] textSearch(java.lang.String term,
                                  java.lang.String text)
Searches text for term by performing a simple text search.

Parameters:
term -
text -
Returns:

regexSearch

protected LineResult[] regexSearch(java.util.regex.Pattern p,
                                   java.lang.String text)
Searches text using the provided Pattern

Thanks to prec in #regex for correcting the use of Matcher.

Parameters:
p -
text -
Returns:

changedUpdate

public void changedUpdate(javax.swing.event.DocumentEvent arg0)
Inherited from javax.swing.event.DocumentListener

Specified by:
changedUpdate in interface javax.swing.event.DocumentListener

insertUpdate

public void insertUpdate(javax.swing.event.DocumentEvent arg0)
Inherited from javax.swing.event.DocumentListener

Specified by:
insertUpdate in interface javax.swing.event.DocumentListener

removeUpdate

public void removeUpdate(javax.swing.event.DocumentEvent arg0)
Inherited from javax.swing.event.DocumentListener

Specified by:
removeUpdate in interface javax.swing.event.DocumentListener