|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.jdesktop.swingx.AbstractSearchable
public abstract class AbstractSearchable
An abstract implementation of Searchable supporting incremental search. Keeps internal state to represent the previous search result. For all methods taking a string as parameter: compiles the String to a Pattern as-is and routes to the central method taking a Pattern.
| Nested Class Summary | |
|---|---|
static class |
AbstractSearchable.SearchResult
A convenience class to hold search state. |
| Field Summary | |
|---|---|
protected AbstractSearchable.SearchResult |
lastSearchResult
stores the result of the previous search. |
static java.lang.String |
MATCH_HIGHLIGHTER
key for client property to use SearchHighlighter as match marker. |
static AbstractSearchable.SearchResult |
NO_MATCH
a constant representing not-found state. |
| Constructor Summary | |
|---|---|
AbstractSearchable()
|
|
| Method Summary | |
|---|---|
protected int |
adjustStartPosition(int startIndex,
boolean backwards)
Called if startIndex is different from last search and make sure a backwards/forwards search starts at last/first row, respectively. |
protected AbstractSearchable.SearchResult |
createSearchResult(java.util.regex.Matcher matcher,
int row,
int column)
Factory method to create a SearchResult from the given parameters. |
protected int |
doSearch(java.util.regex.Pattern pattern,
int startIndex,
boolean backwards)
Performs a search starting at the given startIndex using the pattern; Pattern. |
protected abstract AbstractSearchable.SearchResult |
findExtendedMatch(java.util.regex.Pattern pattern,
int row)
called if sameRowIndex && !hasEqualRegEx. |
protected abstract void |
findMatchAndUpdateState(java.util.regex.Pattern pattern,
int startRow,
boolean backwards)
loops through the searchable until a match is found or the end is reached. |
protected abstract int |
getSize()
returns the size of this searchable. |
protected boolean |
isEmpty(java.lang.String searchString)
checks if the searchString should be interpreted as empty. |
protected boolean |
isEqualPattern(java.util.regex.Pattern pattern)
Checks if the given Pattern should be considered as the same as in a previous search. |
protected boolean |
isEqualStartIndex(int startIndex)
Checks if the startIndex should be considered as the same as in the previous search. |
protected boolean |
isTrivialNoMatch(java.util.regex.Pattern pattern,
int startIndex)
Checks and returns if it can be trivially decided to not match. |
protected boolean |
isValidIndex(int index)
checks if index is in range: 0 <= index < getSize(). |
protected abstract void |
moveMatchMarker()
Moves the match marker according to current found state. |
protected int |
moveStartPosition(int startIndex,
boolean backwards)
Moves the internal start position for matching as appropriate and returns the new startIndex to use. |
int |
search(java.util.regex.Pattern pattern)
Performs a forward search starting at the beginning across the Searchable using the pattern; Pattern. |
int |
search(java.util.regex.Pattern pattern,
int startIndex)
Performs a forward search starting at the given startIndex using the Pattern; Pattern. |
int |
search(java.util.regex.Pattern pattern,
int startIndex,
boolean backwards)
Performs a search starting at the given startIndex using the pattern; Pattern. |
int |
search(java.lang.String searchString)
Performs a forward search starting at the beginning across the Searchable using String that represents a regex pattern; Pattern. |
int |
search(java.lang.String searchString,
int startIndex)
Performs a forward search starting at the given startIndex using String that represents a regex pattern; Pattern. |
int |
search(java.lang.String searchString,
int startIndex,
boolean backward)
Performs a search starting at the given startIndex using String that represents a regex pattern; Pattern. |
protected void |
updateState(AbstractSearchable.SearchResult searchResult)
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final AbstractSearchable.SearchResult NO_MATCH
protected AbstractSearchable.SearchResult lastSearchResult
public static final java.lang.String MATCH_HIGHLIGHTER
| Constructor Detail |
|---|
public AbstractSearchable()
| Method Detail |
|---|
public int search(java.lang.String searchString)
Pattern.
search in interface SearchablesearchString - String we should find in a document.
public int search(java.lang.String searchString,
int startIndex)
Pattern.
search in interface SearchablesearchString - String we should find in a document.startIndex - Start position in a document or -1 if we want to search from the beginning.
public int search(java.lang.String searchString,
int startIndex,
boolean backward)
Pattern. The search direction
depends on the boolean parameter: forward/backward if false/true, respectively.
search in interface SearchablesearchString - String we should find in a document.startIndex - Start position in a document or -1 if we want to search from the beginning.backward - Indicates search direction, will search from the given position towards the
beginning of a document if this parameter is true.
public int search(java.util.regex.Pattern pattern)
Pattern.
search in interface Searchablepattern - Pattern for search
public int search(java.util.regex.Pattern pattern,
int startIndex)
Pattern.
search in interface Searchablepattern - Pattern for searchstartIndex - starting index of search. If -1 then start from the beginning
public int search(java.util.regex.Pattern pattern,
int startIndex,
boolean backwards)
Pattern.
The search direction depends on the boolean parameter:
forward/backward if false/true, respectively.
Updates visible and internal search state.
search in interface SearchablestartIndex - the index to start searchbackwards - flag for search directionpattern -
protected int doSearch(java.util.regex.Pattern pattern,
int startIndex,
boolean backwards)
Pattern.
The search direction depends on the boolean parameter:
forward/backward if false/true, respectively.
Updates internal search state.
pattern - startIndex - backwards -
protected abstract void findMatchAndUpdateState(java.util.regex.Pattern pattern,
int startRow,
boolean backwards)
pattern - startRow - backwards -
protected boolean isTrivialNoMatch(java.util.regex.Pattern pattern,
int startIndex)
pattern - startIndex -
protected int adjustStartPosition(int startIndex,
boolean backwards)
startIndex - backwards -
protected int moveStartPosition(int startIndex,
boolean backwards)
startIndex - backwards -
protected boolean isEqualPattern(java.util.regex.Pattern pattern)
pattern -
protected boolean isEqualStartIndex(int startIndex)
startIndex -
protected boolean isEmpty(java.lang.String searchString)
searchString -
protected abstract AbstractSearchable.SearchResult findExtendedMatch(java.util.regex.Pattern pattern,
int row)
pattern - row -
protected AbstractSearchable.SearchResult createSearchResult(java.util.regex.Matcher matcher,
int row,
int column)
matcher - the matcher after a successful find. Must not be null.row - the found indexcolumn - the found column
protected boolean isValidIndex(int index)
index -
protected abstract int getSize()
protected void updateState(AbstractSearchable.SearchResult searchResult)
protected abstract void moveMatchMarker()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||