org.jdesktop.swingx
Class JXTable.TableSearchable

java.lang.Object
  extended by org.jdesktop.swingx.AbstractSearchable
      extended by org.jdesktop.swingx.JXTable.TableSearchable
All Implemented Interfaces:
Searchable
Enclosing class:
JXTable

public class JXTable.TableSearchable
extends AbstractSearchable


Nested Class Summary
 
Nested classes/interfaces inherited from class org.jdesktop.swingx.AbstractSearchable
AbstractSearchable.SearchResult
 
Field Summary
 
Fields inherited from class org.jdesktop.swingx.AbstractSearchable
lastSearchResult, MATCH_HIGHLIGHTER, NO_MATCH
 
Constructor Summary
JXTable.TableSearchable()
           
 
Method Summary
protected  int adjustStartPosition(int startIndex, boolean backwards)
          Called if startIndex is different from last search, reset the column to -1 and make sure a backwards/forwards search starts at last/first row, respectively.
protected  AbstractHighlighter createMatchHighlighter()
           
protected  AbstractSearchable.SearchResult findExtendedMatch(Pattern pattern, int row)
          called if sameRowIndex && !hasEqualRegEx.
protected  void findMatchAndUpdateState(Pattern pattern, int startRow, boolean backwards)
          Loops through the searchable until a match is found or the end is reached.
protected  AbstractSearchable.SearchResult findMatchAt(Pattern pattern, int row, int column)
          Matches the cell content at row/col against the given Pattern.
protected  AbstractHighlighter getConfiguredMatchHighlighter()
           
protected  AbstractHighlighter getMatchHighlighter()
           
protected  int getSize()
          returns the size of this searchable.
protected  boolean hasMatch(AbstractSearchable.SearchResult result)
           
protected  boolean isEqualStartIndex(int startIndex)
          Checks if the startIndex is a candidate for trying a re-match.
protected  boolean markByHighlighter()
           
protected  void moveMatchByHighlighter()
          use and move the match highlighter.
protected  void moveMatchBySelection()
           
protected  void moveMatchMarker()
          Moves the match marker according to current found state.
protected  int moveStartPosition(int startRow, boolean backwards)
          Moves the internal start for matching as appropriate and returns the new startIndex to use.
 
Methods inherited from class org.jdesktop.swingx.AbstractSearchable
createSearchResult, doSearch, isEmpty, isEqualPattern, isTrivialNoMatch, isValidIndex, search, search, search, search, search, search, updateState
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JXTable.TableSearchable

public JXTable.TableSearchable()
Method Detail

findMatchAndUpdateState

protected void findMatchAndUpdateState(Pattern pattern,
                                       int startRow,
                                       boolean backwards)
Description copied from class: AbstractSearchable
Loops through the searchable until a match is found or the end is reached. Updates internal search state.

Specified by:
findMatchAndUpdateState in class AbstractSearchable
Parameters:
pattern - Pattern that we will try to locate
startRow - position in the document in the appropriate coordinates from which we will start search or -1 to start from the beginning
backwards - true if we should perform search towards the beginning

findExtendedMatch

protected AbstractSearchable.SearchResult findExtendedMatch(Pattern pattern,
                                                            int row)
called if sameRowIndex && !hasEqualRegEx. Matches the cell at row/lastFoundColumn against the pattern. PRE: lastFoundColumn valid.

Specified by:
findExtendedMatch in class AbstractSearchable
Parameters:
pattern -
row -
Returns:
an appropriate SearchResult if matching or null

findMatchAt

protected AbstractSearchable.SearchResult findMatchAt(Pattern pattern,
                                                      int row,
                                                      int column)
Matches the cell content at row/col against the given Pattern. Returns an appropriate SearchResult if matching or null if no matching

Parameters:
pattern -
row - a valid row index in view coordinates
column - a valid column index in view coordinates
Returns:
an appropriate SearchResult if matching or null

adjustStartPosition

protected int adjustStartPosition(int startIndex,
                                  boolean backwards)
Called if startIndex is different from last search, reset the column to -1 and make sure a backwards/forwards search starts at last/first row, respectively.

Overrides:
adjustStartPosition in class AbstractSearchable
Parameters:
startIndex -
backwards -
Returns:
adjusted startIndex

moveStartPosition

protected int moveStartPosition(int startRow,
                                boolean backwards)
Moves the internal start for matching as appropriate and returns the new startIndex to use. Called if search was messaged with the same startIndex as previously.

Overrides:
moveStartPosition in class AbstractSearchable
Parameters:
startRow -
backwards -
Returns:
new start index to use

isEqualStartIndex

protected boolean isEqualStartIndex(int startIndex)
Checks if the startIndex is a candidate for trying a re-match.

Overrides:
isEqualStartIndex in class AbstractSearchable
Parameters:
startIndex -
Returns:
true if the startIndex should be re-matched, false if not.

getSize

protected int getSize()
Description copied from class: AbstractSearchable
returns the size of this searchable.

Specified by:
getSize in class AbstractSearchable
Returns:
size of this searchable

moveMatchByHighlighter

protected void moveMatchByHighlighter()
use and move the match highlighter. PRE: markByHighlighter


getConfiguredMatchHighlighter

protected AbstractHighlighter getConfiguredMatchHighlighter()
Returns:
a highlighter configured for matching

hasMatch

protected boolean hasMatch(AbstractSearchable.SearchResult result)
Parameters:
result -
Returns:
true if the result contains a match; false otherwise

moveMatchBySelection

protected void moveMatchBySelection()

moveMatchMarker

protected void moveMatchMarker()
Description copied from class: AbstractSearchable
Moves the match marker according to current found state.

Specified by:
moveMatchMarker in class AbstractSearchable

markByHighlighter

protected boolean markByHighlighter()

getMatchHighlighter

protected AbstractHighlighter getMatchHighlighter()
Returns:
a highlighter used for matching

createMatchHighlighter

protected AbstractHighlighter createMatchHighlighter()
Returns:
a highlighter used for matching