JavaHelp
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