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:
  • 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
     
    javax.help.Map
     
    javax.help.Map
     
     

    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