Package org.jdesktop.swingx
Class JXEditorPane.DocumentSearchable
- java.lang.Object
-
- org.jdesktop.swingx.JXEditorPane.DocumentSearchable
-
- All Implemented Interfaces:
Searchable
- Enclosing class:
- JXEditorPane
public class JXEditorPane.DocumentSearchable extends java.lang.Object implements Searchable
ASearchableimplementation forDocuments.
-
-
Field Summary
Fields Modifier and Type Field Description (package private) intlastFoundIndex(package private) java.util.regex.MatchResultlastMatchResult(package private) java.lang.StringlastRegEx
-
Constructor Summary
Constructors Constructor Description DocumentSearchable()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private booleanfoundExtendedMatch(java.util.regex.Pattern pattern, int start)Search from same startIndex as the previous search.private java.util.regex.MatchResultgetMatchResult(java.util.regex.Matcher matcher, boolean useFirst)protected booleanisEmpty(java.lang.String searchString)checks if the searchString should be interpreted as empty.private booleanmaybeExtendedMatch(int startIndex)Checks if the startIndex is a candidate for trying a re-match.intsearch(java.lang.String searchString)SearchsearchStringfrom the beginning of a document.intsearch(java.lang.String searchString, int columnIndex)SearchsearchStringfrom the given position in a document.intsearch(java.lang.String searchString, int columnIndex, boolean backward)SearchsearchStringin the given direction from the some position in a document.intsearch(java.util.regex.Pattern pattern)Search for the pattern from the beginning of the document.intsearch(java.util.regex.Pattern pattern, int startIndex)Search for the pattern from the start index.intsearch(java.util.regex.Pattern pattern, int startIndex, boolean backwards)Search for the pattern from the start index.private intupdateStateAfterFound(java.util.regex.MatchResult currentResult, int offset)private voidupdateStateAfterNotFound()
-
-
-
Method Detail
-
search
public int search(java.lang.String searchString)
Description copied from interface:SearchableSearchsearchStringfrom the beginning of a document.- Specified by:
searchin interfaceSearchable- Parameters:
searchString-Stringwe should find in a document.- Returns:
- index of matched
Stringor -1 if a match cannot be found.
-
search
public int search(java.lang.String searchString, int columnIndex)Description copied from interface:SearchableSearchsearchStringfrom the given position in a document.- Specified by:
searchin interfaceSearchable- Parameters:
searchString-Stringwe should find in a document.columnIndex- Start position in a document or -1 if we want to search from the beginning.- Returns:
- index of matched
Stringor -1 if a match cannot be found.
-
search
public int search(java.lang.String searchString, int columnIndex, boolean backward)Description copied from interface:SearchableSearchsearchStringin the given direction from the some position in a document.- Specified by:
searchin interfaceSearchable- Parameters:
searchString-Stringwe should find in a document.columnIndex- 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 istrue.- Returns:
- index of matched
Stringor -1 if a match cannot be found.
-
isEmpty
protected boolean isEmpty(java.lang.String searchString)
checks if the searchString should be interpreted as empty. here: returns true if string is null or has zero length. TODO: This should be in a utility class.- Parameters:
searchString-- Returns:
- true if string is null or has zero length
-
search
public int search(java.util.regex.Pattern pattern)
Description copied from interface:SearchableSearch for the pattern from the beginning of the document.- Specified by:
searchin interfaceSearchable- Parameters:
pattern- Pattern for search- Returns:
- index of matched
Patternor -1 if a match cannot be found.
-
search
public int search(java.util.regex.Pattern pattern, int startIndex)Description copied from interface:SearchableSearch for the pattern from the start index.- Specified by:
searchin interfaceSearchable- Parameters:
pattern- Pattern for searchstartIndex- starting index of search. If -1 then start from the beginning- Returns:
- index of matched pattern or -1 if a match cannot be found.
-
search
public int search(java.util.regex.Pattern pattern, int startIndex, boolean backwards)Description copied from interface:SearchableSearch for the pattern from the start index.- Specified by:
searchin interfaceSearchable- Parameters:
pattern- Pattern for searchstartIndex- starting index of search. If -1 then start from the beginningbackwards- indicates the direction if true then search is backwards- Returns:
- start position of matching string or -1
-
foundExtendedMatch
private boolean foundExtendedMatch(java.util.regex.Pattern pattern, int start)Search from same startIndex as the previous search. Checks if the match is different from the last (either extended/reduced) at the same position. Returns true if the current match result represents a different match than the last, false if no match or the same.- Parameters:
pattern-start-- Returns:
- true if the current match result represents a different match than the last, false if no match or the same.
-
maybeExtendedMatch
private boolean maybeExtendedMatch(int startIndex)
Checks if the startIndex is a candidate for trying a re-match.- Parameters:
startIndex-- Returns:
- true if the startIndex should be re-matched, false if not.
-
updateStateAfterFound
private int updateStateAfterFound(java.util.regex.MatchResult currentResult, int offset)- Parameters:
currentResult-offset-- Returns:
- the start position of the selected text
-
getMatchResult
private java.util.regex.MatchResult getMatchResult(java.util.regex.Matcher matcher, boolean useFirst)- Parameters:
matcher-useFirst- whether or not to return after the first match is found.- Returns:
MatchResultor null
-
updateStateAfterNotFound
private void updateStateAfterNotFound()
-
-