## javax.help.search
Class SearchEngine

    java.lang.Object
      javax.help.search.SearchEngine

Direct Known Subclasses:
  MergingSearchEngine

public abstract class SearchEngine
extends java.lang.Object

Defines the methods used to access a search engine. Each instance is created by a engine factory. Extensions of SearchEngine can perform the search or negotiate the search results with an outside agent. A server search engine is an an example of an outside agent. Search results are returned through SearchEvents to listeners that register with a SearchQuery instance. The SearchQuery is returned from the method createQuery.

See Also:
  `SearchEvent`, `SearchListener`

Constructor Summary
`SearchEngine()` Creates a SearchEngine.
`SearchEngine(java.net.URL base, java.util.Hashtable params)` Creates a SearchEngine using the standard JavaHelp SearchEngine parameters.

Method Summary
`abstract SearchQuery` `createQuery()` Creates a new search query.

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

Constructor Detail

### SearchEngine

    public SearchEngine(java.net.URL base,
                        java.util.Hashtable params)
                 throws java.security.InvalidParameterException

  Creates a SearchEngine using the standard JavaHelp SearchEngine parameters. Only this constructor is used to create a SearchEngine from within a search view.

Parameters:
  `base` - The base address of the data.
  `params` - A hashtable of parameters from the search view.

### SearchEngine

    public SearchEngine()

  Creates a SearchEngine.

Method Detail

### createQuery

    public abstract SearchQuery createQuery()
                                     throws java.lang.IllegalStateException

  Creates a new search query.

  Throws:
    `java.lang.IllegalStateException`