#
JavaHelpTM 1.0
JavaHelp System 1.0 Reference Implementation

##
Copyright 1998-1999 Sun Microsystems

## JavaHelp System 1.0 Reference Implementation

Sun's reference implementation of the JavaHelp system implements the the JavaHelp system specification and supports additional useful features that are not appropriate for inclusion in the specification at this time. Some of these features may move to the specification unchanged, others may be replaced by equivalent or more powerful features in future versions of the specification, and others may never show up in the specification. In all cases, these features will be supported in future versions of the reference implementation and their presence can be assumed when writing content targeted to this implementation.

The latest release available at the time of writing is the FCS release, released in April 1999. The FCS release implements this version of the specification. This specification is also supported by `javadoc` API documents.

Sun's reference implementation provides a search engine that can be used to create and access a search database created from HTML-base topic files. The reference implementation also supports lightweight AWT Java Components that can be embedded in HTML pages using the `<OBJECT>` tag. Two example components are provided: one component provides HTML popup functionality, the other provides in-line glossary definitions.

Information about the JavaHelp system reference implementation as well as other JavaHelp system information is available at `http://java.sun.com/products/javahelp`.

### HelpBroker

The `HelpBroker` created by default upon invocation of the `createHelpBroker()` method of HelpSet is a DefaultHelpBroker.

### Search Engine

The reference implementation includes a `com.javax.help.search.DefaultSearchEngine` search engine. This search engine uses a single data attribute that is a relative URL that specifies the directory that contains the search database. Multi-word queries are supported and are interpreted using a relaxation algorithm described in Relaxation Searching.

The implementation of the search engine is independent and does not depend on the rest of the JavaHelp system. The client classes do not depend on Swing, the classes that create the search database (the indexer) depend only on the Swing parser for the HTML IndexerKit.

### Java Components in <OBJECT> Tag

The reference implementation supports a powerful `<OBJECT>` tag. In the reference implementation the `CLASSID` that denotes the class name is used to instantiate the class. The result is expected to be a lightweight AWT Component. This class is interpreted as a JavaBeans component --the `<PARAM>` tag associated with the `<OBJECT>` tag is used to provide `NAME`/`VALUE` pairs. Each `NAME` is interpreted as the name of a String property of the JavaBeans component and the value is assigned to it.

If the created Component supports the `ViewAwareComponent`, then the `javax.swing.text.View` is passed to the object through a call to `setViewData`. This mechanism is very powerful and provides access to much useful information, for example, the URL to the document where the `<OBJECT>` tag is present. See the documentation about the Swing text package for more details.

### Launcher Application

A simple application (`hsviewer`) that can be used to create a HelpBroker on a given HelpSet is included in the FCS release. The `hsviewer` is described in the reference implementation release documentation.

### Packaging

The reference implementation includes the following JAR files in the FCS release:

JAR file | Description
--- | ---
`jh.jar` | Client-side JAR. Includes all default types, and the client-side search engine.
`jhall.jar` | Complete JAR. Like `jh.jar` but also includes the indexer classes.
`jhbasic.jar` | Minimal client-side JAR. Includes all default types except SearchView.
`jhtools.jar` | Tools JAR. Includes the indexer and search classes, as well as a simple launcher class.
`jsearch.jar` | Search JAR. Includes only the Search classes, both indexer and the search classes.

JavaHelpTM 1.0
Send your comments to javahelp-comments@eng.sun.com
Last modified: Mon Apr 12 19:17:03 MDT 1999