## javax.help.search
Class SearchQuery

    java.lang.Object
      javax.help.search.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`

Constructor Summary
`SearchQuery(SearchEngine hs)` Creates a SearchQuery.

Method Summary
`void` `addSearchListener(SearchListener l)` Adds a listener for the SearchEngine posted after the search has started, stopped, or search parameters have been defined.
`SearchEngine` `getSearchEngine()` Returns the SearchEngine associated with this SearchQuery.
`abstract boolean` `isActive()` Determines if this SearchQuery is active.
`void` `itemsFound(boolean inSearch, java.util.Vector docs)` Notifies that query of items is found in the search.
`void` `removeSearchListener(SearchListener l)` Removes a listener previously added with `addSearchListener`.
`void` `start(java.lang.String searchparams, java.util.Locale l)` Starts the search.
`void` `stop()` Stops the search.

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

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.
  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?