In addition to the static merging of helpsets described in Merging Helpsets, helpsets can be merged dynamically. To merge helpsets dynamically, you use the JavaHelp software API in your Java applications.
The basic API consists of the
HelpSet.add(HelpSet) method
and its corresponding
HelpSet.remove(HelpSet)method.
These methods fire
HelpSetEvent events for the
HelpSetListeners that have registered interest in them.
The Component UIs for the TOC, index, search, and glossary views register for
these events and react to changes.
The semantics of merging is implemented by individual
NavigatorView objects
and
JHelpNavigator objects.
There are three basic methods:
canMerge(NavigatorView)
merge(NavigatorView)
remove(NavigatorView)
canMerge(NavigatorView) method is present in both
NavigatorView and JHelpNavigator.
The JHelpNavigator method just calls into its
corresponding NavigatorView method.
The other two methods are present only in JHelpNavigator.
For more information about these classes and methods, refer to the JavaHelp
software API documentation. API information can be viewed using a web browser
(doc/api/overview-summary.html) or by using the sample API viewer
in demos\bin\apiviewer.
Two demonstration programs, demos\bin\merge and demos\bin\newmerge
are included with the JavaHelp system release. These programs demonstrate how
helpsets can be merged and removed dynamically. The newmerge program
demonstrates what happens with a UniteAppendMerge of TOCs and a SortMerge of
indexes.
The sources for these programs are available under demos\src\sunw\demo\.