Class SearchContext

  • All Implemented Interfaces:
    Cloneable

    public class SearchContext
    extends Object
    implements Cloneable
    Contains 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 public SearchEngine methods to do the actual searching.
    See Also:
    SearchEngine
    • Field Detail

      • PROPERTY_SEARCH_FOR

        public static final String PROPERTY_SEARCH_FOR
        Fired when the "search for" property is modified.
        See Also:
        Constant Field Values
      • PROPERTY_REPLACE_WITH

        public static final String PROPERTY_REPLACE_WITH
        Fired when the "replace with" property is modified.
        See Also:
        Constant Field Values
      • PROPERTY_MATCH_CASE

        public static final String PROPERTY_MATCH_CASE
        Fired when the "match case" property is toggled.
        See Also:
        Constant Field Values
      • PROPERTY_MATCH_WHOLE_WORD

        public static final String PROPERTY_MATCH_WHOLE_WORD
        Fired when the "whole word" property is toggled.
        See Also:
        Constant Field Values
      • PROPERTY_SEARCH_FORWARD

        public static final String PROPERTY_SEARCH_FORWARD
        Fired when search direction is toggled.
        See Also:
        Constant Field Values
      • PROPERTY_SELECTION_ONLY

        public static final 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 String PROPERTY_USE_REGEX
        Fired when "use regular expressions" is toggled.
        See Also:
        Constant Field Values
      • PROPERTY_MARK_ALL

        public static final String PROPERTY_MARK_ALL
        Fired when the user toggles the "Mark All" property.
        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​(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​(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

      • firePropertyChange

        protected void firePropertyChange​(String property,
                                          boolean oldValue,
                                          boolean newValue)
      • firePropertyChange

        protected void firePropertyChange​(String property,
                                          String oldValue,
                                          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)
      • 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)
      • 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)
      • setMarkAll

        public void setMarkAll​(boolean markAll)
        Sets whether "mark all" should be selected or enabled. This method fires property change events of type PROPERTY_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 type PROPERTY_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 type PROPERTY_USE_REGEX
        Parameters:
        regex - Whether a regular expression search should be done.
        See Also:
        isRegularExpression()
      • 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 type PROPERTY_SEARCH_FORWARD.
        Parameters:
        forward - Whether we should search forwards.
        See Also:
        getSearchForward()
      • setSearchSelectionOnly

        public void setSearchSelectionOnly​(boolean selectionOnly)
        Sets whether only the selected text should be searched. This method fires a property change event of type PROPERTY_SELECTION_ONLY.

        This flag is currently not supported. Calling this method will throw an UnsupportedOperationException until 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 type PROPERTY_MATCH_WHOLE_WORD.
        Parameters:
        wholeWord - Whether only "whole word" matches should be returned.
        See Also:
        getWholeWord()