Package help

# Class GHelpSet

java.lang.Object
javax.help.HelpSet
help.GHelpSet

All Implemented Interfaces:
  `Serializable`

Direct Known Subclasses:
  `DockingHelpSet`

public class GHelpSet extends javax.help.HelpSet
Ghidra help set that creates a GhidraHelpBroker, installs some custom HTML handling code via the GHelpHTMLEditorKit, and most importantly, changes how the JavaHelp system works with regard to integrating Help Sets.

The HelpSet class uses a javax.help.Map object to locate HTML files by javax.help.map.ID objects. This class has overridden that basic usage of the Map object to allow ID lookups to take place across GHelpSet objects. We need to do this due to how we merge help set content across modules. More specifically, in order to merge, we have to make all `<tocitem>` xml tags the same, including the target HTML file they may reference. Well, when a module uses a `<tocitem>` tag that references an HTML file not inside of it's module, then JavaHelp considers this an error and does not correctly merge the HelpSets that share the reference. Further, it does not properly locate the shared HTML file reference. This class allows lookups across modules by overridden the lookup functionality done by the map object. More specifically, we override `getCombinedMap()` and `getLocalMap()` to use a custom delegate map object that knows how do do this "cross-module" help lookup.

See Also:
  - `GHelpHTMLEditorKit`
  - Serialized Form

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from class javax.help.HelpSet

  `javax.help.HelpSet.DefaultHelpSetFactory, javax.help.HelpSet.Presentation`

- ## Field Summary

  ### Fields inherited from class javax.help.HelpSet

  `helpBrokerClass, helpBrokerLoader, implRegistry, kitLoaderRegistry, kitTypeRegistry, listenerList, publicIDString, publicIDString_V2`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `GHelpSet(ClassLoader loader, URL helpset)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `javax.help.HelpBroker`
  `createHelpBroker()`
  `javax.help.Map`
  `getCombinedMap()`
  `javax.help.Map`
  `getLocalMap()`
  `String`
  `toString()`

  ### Methods inherited from class javax.help.HelpSet

  `add, addHelpSetListener, addPresentation, addSubHelpSet, addView, contains, createHelpBroker, findHelpSet, findHelpSet, findHelpSet, fireHelpSetAdded, fireHelpSetRemoved, getDefaultPresentation, getHelpSets, getHelpSetURL, getHomeID, getKeyData, getLoader, getLocale, getNavigatorView, getNavigatorViews, getPresentation, getPresentations, getTitle, parse, parseInto, remove, removeHelpSetListener, setHomeID, setKeyData, setLocalMap, setTitle`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- ## Constructor Details

  - ### GHelpSet

    public GHelpSet(ClassLoader loader, URL helpset) throws javax.help.HelpSetException
    Throws:
      `javax.help.HelpSetException`

- ## Method Details

  - ### createHelpBroker

    public javax.help.HelpBroker createHelpBroker()
    Overrides:
      `createHelpBroker` in class `javax.help.HelpSet`

  - ### getLocalMap

    public javax.help.Map getLocalMap()
    Overrides:
      `getLocalMap` in class `javax.help.HelpSet`

  - ### getCombinedMap

    public javax.help.Map getCombinedMap()
    Overrides:
      `getCombinedMap` in class `javax.help.HelpSet`

  - ### toString

    public String toString()
    Overrides:
      `toString` in class `javax.help.HelpSet`