Class DefaultHelpModel

java.lang.Object
javax.help.DefaultHelpModel
All Implemented Interfaces:
Serializable, HelpModel, TextHelpModel

public class DefaultHelpModel extends Object implements TextHelpModel, Serializable
This class implements the javax.help.HelpModel API and notifies the JHelpModel listeners when changes occur.
See Also:
  • Field Details

  • Constructor Details

    • DefaultHelpModel

      public DefaultHelpModel(HelpSet hs)
      Constructs a HelpModel from a HelpSet
      Parameters:
      hs - The HelpSet from which to build this model. A null hs is valid creating a DefaultHelpModel without a HelpSet.
      See Also:
  • Method Details

    • setHelpSet

      public void setHelpSet(HelpSet hs)
      Sets the HelpSet for this HelpModel. A null hs is valid.
      Specified by:
      setHelpSet in interface HelpModel
    • getHelpSet

      public HelpSet getHelpSet()
      Gets the backing HelpSet.
      Specified by:
      getHelpSet in interface HelpModel
      Returns:
      the helpset. A null hs is valid.
    • setCurrentID

      public void setCurrentID(Map.ID ident) throws InvalidHelpSetContextException
      Sets the current ID. HelpModelListeners and HelpVisitListeners are notified. If the parameter ident is null, the homeID of the current HelpSet is used unless it is also null in which case the method returns without setting the currentID.
      Specified by:
      setCurrentID in interface HelpModel
      Parameters:
      ident - The ID to set. If ident is null set the currentID to the HelpSet's HomeID. If the HomeID doesn't exist the currentID is set to null.
      Throws:
      InvalidHelpSetContextException - The ID is not valid for the HelpSet
    • setCurrentID

      public void setCurrentID(Map.ID ident, String historyName, JHelpNavigator navigator) throws InvalidHelpSetContextException
      Sets the current ID relative to some HelpSet HelpModelListeners and HelpVisitListeners are notified
      Specified by:
      setCurrentID in interface HelpModel
      Parameters:
      ident - the ID used to set
      historyName - the name for history storage
      navigator - the name of the navigator for history
      id - the ID used to set
      Throws:
      InvalidHelpSetContextException - The HelpSet of the ID is not valid for the HelpSet currently loaded in the model
    • getCurrentID

      public Map.ID getCurrentID()
      Gets the current ID.
      Specified by:
      getCurrentID in interface HelpModel
      Returns:
      the current ID. A null ID is a valid id. If no ID has been set a null ID is returned.
    • setCurrentURL

      public void setCurrentURL(URL url)
      Sets the current URL. The current ID changes if there is a matching ID for this URL and HelpModelListners are notified.
      Specified by:
      setCurrentURL in interface HelpModel
      Parameters:
      url - The url to set the model to. A null URL is a valid url.
    • setCurrentURL

      public void setCurrentURL(URL url, String historyName, JHelpNavigator navigator)
      Sets the current URL and the name wich will appear in history list. HelpModelListeners are notified. The current ID changes if there is a matching id for this URL
      Specified by:
      setCurrentURL in interface HelpModel
      Parameters:
      url - The URL to set.
      historyName - The name to set for history
      navigator - The name of the navigator for history
    • getCurrentURL

      public URL getCurrentURL()
      Returns the current URL
      Specified by:
      getCurrentURL in interface HelpModel
      Returns:
      The current URL. A null URL is a valid URL. If no URL has been previously set a null URL will be returned.
    • addHighlight

      public void addHighlight(int pos0, int pos1)
      Highlights a range of positions in a document.
      Specified by:
      addHighlight in interface TextHelpModel
      Parameters:
      pos0 - start position
      pos1 - end position
    • removeAllHighlights

      public void removeAllHighlights()
      Removes highlights.
      Specified by:
      removeAllHighlights in interface TextHelpModel
    • setHighlights

      public void setHighlights(TextHelpModel.Highlight[] h)
      Set highlights. Clear the current Hightlights and set new Highlights
      Specified by:
      setHighlights in interface TextHelpModel
      Parameters:
      h - An array of Hightlights. If h is null it is the same as setting no highlights
    • getHighlights

      public TextHelpModel.Highlight[] getHighlights()
      Geta all the highlights currently active.
      Specified by:
      getHighlights in interface TextHelpModel
      Returns:
      An array of highlights
    • addHelpModelListener

      public void addHelpModelListener(HelpModelListener l)
      Adds a listener for the HelpModelEvent posted after the model has changed.
      Specified by:
      addHelpModelListener in interface HelpModel
      Parameters:
      l - - The listener to add.
      Throws:
      IllegalArgumentException - if l is null.
      See Also:
    • removeHelpModelListener

      public void removeHelpModelListener(HelpModelListener l)
      Removes a listener previously added with addHelpListener
      Specified by:
      removeHelpModelListener in interface HelpModel
      Parameters:
      l - - The listener to remove. If l is not in the list of listeners it is ignored.
      Throws:
      IllegalArgumentException - if l is null.
      See Also:
    • addTextHelpModelListener

      public void addTextHelpModelListener(TextHelpModelListener l)
      Adds a listener for the TextHelpModelEvent posted after the model has changed.
      Specified by:
      addTextHelpModelListener in interface TextHelpModel
      Parameters:
      l - - The listener to add.
      Throws:
      IllegalArgumentException - if l is null.
      See Also:
    • removeTextHelpModelListener

      public void removeTextHelpModelListener(TextHelpModelListener l)
      Removes a listener previously added with addHelpListener
      Specified by:
      removeTextHelpModelListener in interface TextHelpModel
      Parameters:
      l - - The listener to remove. If l is not on the list of listeners it is ignored.
      Throws:
      IllegalArgumentException - if l is null.
      See Also:
    • addPropertyChangeListener

      public void addPropertyChangeListener(PropertyChangeListener l)
      Adds a listener to changes to the properties in this model.
      Specified by:
      addPropertyChangeListener in interface HelpModel
      Parameters:
      l - the listener to add
    • removePropertyChangeListener

      public void removePropertyChangeListener(PropertyChangeListener l)
      Removes a listener to changes to the properties in this model.
      Specified by:
      removePropertyChangeListener in interface HelpModel
      Parameters:
      l - the listener to remove. If l is not on the list of listeners it is ignored.
    • setDocumentTitle

      public void setDocumentTitle(String title)
      Assigns the document title.
      Specified by:
      setDocumentTitle in interface TextHelpModel
      Parameters:
      title - the Title for the document currently being shown. A null title is valid.
    • getDocumentTitle

      public String getDocumentTitle()
      Gets the document title.
      Specified by:
      getDocumentTitle in interface TextHelpModel
      Returns:
      The title for the current document. A null title is valid. If the title has not be previously set it will be null.
    • fireIDChanged

      protected void fireIDChanged(Object source, Map.ID id, URL url, String historyName, JHelpNavigator navigator)
    • fireIDChanged

      protected void fireIDChanged(Object source, Map.ID id, URL url)
    • fireHighlightsChanged

      protected void fireHighlightsChanged(Object source)