Class SearchQuery


  • public abstract class SearchQuery
    extends java.lang.Object
    The instance of a query on a search database. It is instantiated by SearchEngine.startQuery. Subclasses of SearchQuery can perform the search or negotiate the search results with an outside agent as setup in the SearchEngine class. A server search engine is an an example of an outside agent. Search results are returned through SearchEvents to listeners that register with a SearchEngine instance.
    See Also:
    SearchEvent, SearchListener
    • Field Detail

      • searchparams

        protected java.lang.String searchparams
      • l

        protected java.util.Locale l
    • Constructor Detail

      • SearchQuery

        public SearchQuery​(SearchEngine hs)
        Creates a SearchQuery.
    • Method Detail

      • addSearchListener

        public void addSearchListener​(SearchListener l)
        Adds a listener for the SearchEngine posted after the search has started, stopped, or search parameters have been defined.
        Parameters:
        l - The listener to add.
        See Also:
        java.javahelp.SearchEngine#removeSearchListener
      • removeSearchListener

        public void removeSearchListener​(SearchListener l)
        Removes a listener previously added with addSearchListener.
        Parameters:
        l - The listener to remove.
        See Also:
        java.javahelp.SearchEngine#addSearchListener
      • start

        public void start​(java.lang.String searchparams,
                          java.util.Locale l)
                   throws java.lang.IllegalArgumentException,
                          java.lang.IllegalStateException
        Starts the search. This method invokes searchStarted on SearchListeners and stores the searchparams. Extensions of SearchQuery should fully implement this method according to the needs of the SearchQuery and its corresponding SearchEngine.
        Parameters:
        searchparams - The search string.
        locale - The locale of the search string.
        Throws:
        java.lang.IllegalArgumentException - The parameters are not understood by this engine.
        java.lang.IllegalStateException - There is an active search in progress in this instance.
      • stop

        public void stop()
                  throws java.lang.IllegalStateException
        Stops the search. This method invokes searchStopped on SearchListeners. Extensions of SearchQuery should fully implement this method according to needs of the SearchQuery and its corresponding SearchEngine.
        Throws:
        java.lang.IllegalStateException - The search engine is not in a state in which it can be started.
      • getSearchEngine

        public SearchEngine getSearchEngine()
        Returns the SearchEngine associated with this SearchQuery.
      • isActive

        public abstract boolean isActive()
        Determines if this SearchQuery is active.
      • itemsFound

        public void itemsFound​(boolean inSearch,
                               java.util.Vector docs)
        Notifies that query of items is found in the search.
        Parameters:
        docs - A vector of SearchItem.
        inSearch - Is the search completed?
      • fireItemsFound

        protected void fireItemsFound​(boolean inSearch,
                                      java.util.Vector docs)
        Notifies that a SearchItem has been found.
        Parameters:
        params - The parameters to the search.
        inSearch - Is the search completed?
        docs - A vector of SearchItem.
        See Also:
        SearchItem
      • fireItemsFound

        protected void fireItemsFound​(SearchEvent e)
        Passs through that a SearchEvent has happened. This is useful for SearchEngine engines that encapsulate others.
        Parameters:
        e - The SearchEvent to pass through.
      • fireSearchStarted

        protected void fireSearchStarted()
        Notifies that a search has started.
        Parameters:
        params - The parameters to the search.
      • fireSearchFinished

        protected void fireSearchFinished()
        Notifies that a search has completed.
        Parameters:
        params - The parameters to the search.