Package org.fife.ui.rtextarea
Class SearchContext
- java.lang.Object
-
- org.fife.ui.rtextarea.SearchContext
-
- All Implemented Interfaces:
java.io.Serializable,java.lang.Cloneable
public class SearchContext extends java.lang.Object implements java.lang.Cloneable, java.io.SerializableContains information about a find/replace operation. Applications can keep an instance of this class around and use it to maintain the user's selection for options such as "match case," "regular expression," etc., between search operations. They can then pass the instance as a parameter to the publicSearchEnginemethods to do the actual searching.- Version:
- 2.0
- See Also:
SearchEngine, Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description private booleanforwardprivate booleanmarkAllprivate booleanmatchCasestatic java.lang.StringPROPERTY_MARK_ALLFired when the user toggles the "Mark All" property.static java.lang.StringPROPERTY_MATCH_CASEFired when the "match case" property is toggled.static java.lang.StringPROPERTY_MATCH_WHOLE_WORDFired when the "whole word" property is toggled.static java.lang.StringPROPERTY_REPLACE_WITHFired when the "replace with" property is modified.static java.lang.StringPROPERTY_SEARCH_FORFired when the "search for" property is modified.static java.lang.StringPROPERTY_SEARCH_FORWARDFired when search direction is toggled.static java.lang.StringPROPERTY_SEARCH_WRAPFired when search wrap is toggled.static java.lang.StringPROPERTY_SELECTION_ONLYFired when "search in selection" is toggled (not currently supported).static java.lang.StringPROPERTY_USE_REGEXFired when "use regular expressions" is toggled.private booleanregexprivate java.lang.StringreplaceWithprivate java.lang.StringsearchForprivate booleanselectionOnlyprivate static longserialVersionUIDprivate java.beans.PropertyChangeSupportsupportprivate booleanwholeWordprivate booleanwrap
-
Constructor Summary
Constructors Constructor Description SearchContext()Creates a new search context.SearchContext(java.lang.String searchFor)Creates a new search context.SearchContext(java.lang.String searchFor, boolean matchCase)Creates a new search context.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddPropertyChangeListener(java.beans.PropertyChangeListener l)Adds a property change listener to this context.SearchContextclone()protected voidfirePropertyChange(java.lang.String property, boolean oldValue, boolean newValue)protected voidfirePropertyChange(java.lang.String property, java.lang.String oldValue, java.lang.String newValue)booleangetMarkAll()Returns whether "mark all" should be selected or enabled.booleangetMatchCase()Returns whether case should be honored while searching.java.lang.StringgetReplaceWith()Returns the text to replace with, if doing a replace operation.java.lang.StringgetSearchFor()Returns the text to search for.booleangetSearchForward()Returns whether the search should be forward through the text (vs.booleangetSearchSelectionOnly()Returns whether the search should only be done in the selected text.booleangetSearchWrap()Returns whether the search should wrap.booleangetWholeWord()Returns whether only "whole word" matches should be returned.booleanisRegularExpression()Returns whether a regular expression search should be done.voidremovePropertyChangeListener(java.beans.PropertyChangeListener l)Removes a property change listener from this context.voidsetMarkAll(boolean markAll)Sets whether "mark all" should be selected or enabled.voidsetMatchCase(boolean matchCase)Sets whether case should be honored while searching.voidsetRegularExpression(boolean regex)Sets whether a regular expression search should be done.This method fires a property change event of typePROPERTY_USE_REGEX.voidsetReplaceWith(java.lang.String replaceWith)Sets the text to replace with, if doing a replace operation.voidsetSearchFor(java.lang.String searchFor)Sets the text to search for.voidsetSearchForward(boolean forward)Sets whether the search should be forward through the text (vs.voidsetSearchSelectionOnly(boolean selectionOnly)Sets whether only the selected text should be searched.voidsetSearchWrap(boolean wrap)Sets whether the search should be wrap through the text.voidsetWholeWord(boolean wholeWord)Sets whether only "whole word" matches should be returned.java.lang.StringtoString()
-
-
-
Field Detail
-
PROPERTY_SEARCH_FOR
public static final java.lang.String PROPERTY_SEARCH_FOR
Fired when the "search for" property is modified.- See Also:
- Constant Field Values
-
PROPERTY_REPLACE_WITH
public static final java.lang.String PROPERTY_REPLACE_WITH
Fired when the "replace with" property is modified.- See Also:
- Constant Field Values
-
PROPERTY_MATCH_CASE
public static final java.lang.String PROPERTY_MATCH_CASE
Fired when the "match case" property is toggled.- See Also:
- Constant Field Values
-
PROPERTY_MATCH_WHOLE_WORD
public static final java.lang.String PROPERTY_MATCH_WHOLE_WORD
Fired when the "whole word" property is toggled.- See Also:
- Constant Field Values
-
PROPERTY_SEARCH_FORWARD
public static final java.lang.String PROPERTY_SEARCH_FORWARD
Fired when search direction is toggled.- See Also:
- Constant Field Values
-
PROPERTY_SEARCH_WRAP
public static final java.lang.String PROPERTY_SEARCH_WRAP
Fired when search wrap is toggled.- See Also:
- Constant Field Values
-
PROPERTY_SELECTION_ONLY
public static final java.lang.String PROPERTY_SELECTION_ONLY
Fired when "search in selection" is toggled (not currently supported).- See Also:
- Constant Field Values
-
PROPERTY_USE_REGEX
public static final java.lang.String PROPERTY_USE_REGEX
Fired when "use regular expressions" is toggled.- See Also:
- Constant Field Values
-
PROPERTY_MARK_ALL
public static final java.lang.String PROPERTY_MARK_ALL
Fired when the user toggles the "Mark All" property.- See Also:
- Constant Field Values
-
searchFor
private java.lang.String searchFor
-
replaceWith
private java.lang.String replaceWith
-
forward
private boolean forward
-
wrap
private boolean wrap
-
matchCase
private boolean matchCase
-
wholeWord
private boolean wholeWord
-
regex
private boolean regex
-
selectionOnly
private boolean selectionOnly
-
markAll
private boolean markAll
-
support
private transient java.beans.PropertyChangeSupport support
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
SearchContext
public SearchContext()
Creates a new search context. Specifies a forward search, case-insensitive, not whole-word, not a regular expression.
-
SearchContext
public SearchContext(java.lang.String searchFor)
Creates a new search context. Specifies a forward search, case-insensitive, not whole-word, not a regular expression.- Parameters:
searchFor- The text to search for.
-
SearchContext
public SearchContext(java.lang.String searchFor, boolean matchCase)Creates a new search context. Specifies a forward search, not whole-word, not a regular expression.- Parameters:
searchFor- The text to search for.matchCase- Whether to do a case-sensitive search.
-
-
Method Detail
-
addPropertyChangeListener
public void addPropertyChangeListener(java.beans.PropertyChangeListener l)
Adds a property change listener to this context.- Parameters:
l- The new listener.- See Also:
removePropertyChangeListener(PropertyChangeListener)
-
clone
public SearchContext clone()
- Overrides:
clonein classjava.lang.Object
-
firePropertyChange
protected void firePropertyChange(java.lang.String property, boolean oldValue, boolean newValue)
-
firePropertyChange
protected void firePropertyChange(java.lang.String property, java.lang.String oldValue, java.lang.String newValue)
-
getMarkAll
public boolean getMarkAll()
Returns whether "mark all" should be selected or enabled.- Returns:
- Whether "mark all" should be enabled.
- See Also:
setMarkAll(boolean)
-
getMatchCase
public boolean getMatchCase()
Returns whether case should be honored while searching.- Returns:
- Whether case should be honored.
- See Also:
setMatchCase(boolean)
-
getReplaceWith
public java.lang.String getReplaceWith()
Returns the text to replace with, if doing a replace operation.- Returns:
- The text to replace with.
- See Also:
setReplaceWith(String),getSearchFor()
-
getSearchFor
public java.lang.String getSearchFor()
Returns the text to search for.- Returns:
- The text to search for.
- See Also:
setSearchFor(String),getReplaceWith()
-
getSearchForward
public boolean getSearchForward()
Returns whether the search should be forward through the text (vs. backwards).- Returns:
- Whether we should search forwards.
- See Also:
setSearchForward(boolean)
-
getSearchWrap
public boolean getSearchWrap()
Returns whether the search should wrap.- Returns:
- Whether we should search wrap
- See Also:
setSearchWrap(boolean)
-
getSearchSelectionOnly
public boolean getSearchSelectionOnly()
Returns whether the search should only be done in the selected text. This flag is currently not supported.- Returns:
- Whether only the selected text should be searched.
- See Also:
setSearchSelectionOnly(boolean)
-
getWholeWord
public boolean getWholeWord()
Returns whether only "whole word" matches should be returned. A match is considered to be "whole word" if the character on either side of the matched text is a non-word character, or if there is no character on one side of the word, such as when it's at the beginning or end of a line.- Returns:
- Whether only "whole word" matches should be returned.
- See Also:
setWholeWord(boolean)
-
isRegularExpression
public boolean isRegularExpression()
Returns whether a regular expression search should be done.- Returns:
- Whether a regular expression search should be done.
- See Also:
setRegularExpression(boolean)
-
removePropertyChangeListener
public void removePropertyChangeListener(java.beans.PropertyChangeListener l)
Removes a property change listener from this context.- Parameters:
l- The listener to remove.- See Also:
addPropertyChangeListener(PropertyChangeListener)
-
setMarkAll
public void setMarkAll(boolean markAll)
Sets whether "mark all" should be selected or enabled. This method fires property change events of typePROPERTY_MARK_ALL.- Parameters:
markAll- Whether "mark all" should be enabled.- See Also:
getMarkAll()
-
setMatchCase
public void setMatchCase(boolean matchCase)
Sets whether case should be honored while searching. This method fires a property change event of typePROPERTY_MATCH_CASE.- Parameters:
matchCase- Whether case should be honored.- See Also:
getMatchCase()
-
setRegularExpression
public void setRegularExpression(boolean regex)
Sets whether a regular expression search should be done.This method fires a property change event of typePROPERTY_USE_REGEX.- Parameters:
regex- Whether a regular expression search should be done.- See Also:
isRegularExpression()
-
setReplaceWith
public void setReplaceWith(java.lang.String replaceWith)
Sets the text to replace with, if doing a replace operation. This method fires a property change event of typePROPERTY_REPLACE_WITH.- Parameters:
replaceWith- The text to replace with.- See Also:
getReplaceWith(),setSearchFor(String)
-
setSearchFor
public void setSearchFor(java.lang.String searchFor)
Sets the text to search for. This method fires a property change event of typePROPERTY_SEARCH_FOR.- Parameters:
searchFor- The text to search for.- See Also:
getSearchFor(),setReplaceWith(String)
-
setSearchForward
public void setSearchForward(boolean forward)
Sets whether the search should be forward through the text (vs. backwards). This method fires a property change event of typePROPERTY_SEARCH_FORWARD.- Parameters:
forward- Whether we should search forwards.- See Also:
getSearchForward()
-
setSearchWrap
public void setSearchWrap(boolean wrap)
Sets whether the search should be wrap through the text. This method fires a property change event of typePROPERTY_SEARCH_WRAP.- Parameters:
wrap- Whether we should search wrap- See Also:
getSearchWrap()
-
setSearchSelectionOnly
public void setSearchSelectionOnly(boolean selectionOnly)
Sets whether only the selected text should be searched. This method fires a property change event of typePROPERTY_SELECTION_ONLY.This flag is currently not supported. Calling this method will throw an
UnsupportedOperationExceptionuntil it is implemented.- Parameters:
selectionOnly- Whether only selected text should be searched.- See Also:
getSearchSelectionOnly()
-
setWholeWord
public void setWholeWord(boolean wholeWord)
Sets whether only "whole word" matches should be returned. A match is considered to be "whole word" if the character on either side of the matched text is a non-word character, or if there is no character on one side of the word, such as when it's at the beginning or end of a line.This method fires a property change event of typePROPERTY_MATCH_WHOLE_WORD.- Parameters:
wholeWord- Whether only "whole word" matches should be returned.- See Also:
getWholeWord()
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-