## javax.help
Class DefaultHelpModel

    java.lang.Object
      javax.help.DefaultHelpModel

All Implemented Interfaces:
  HelpModel, java.io.Serializable, TextHelpModel

public class DefaultHelpModel
extends java.lang.Object
implements TextHelpModel, java.io.Serializable

This class implements the javax.help.HelpModel API and notifies the JHelpModel listeners when changes occur.

See Also:
  Serialized Form

Nested Class Summary
`static class` `DefaultHelpModel.DefaultHighlight` A default implementation of TextHelpModel.Highlight

Nested classes inherited from class javax.help.TextHelpModel
`TextHelpModel.Highlight`

Constructor Summary
`DefaultHelpModel(HelpSet hs)` Constructs a HelpModel from a HelpSet

Method Summary
`void` `addHelpModelListener(HelpModelListener l)` Adds a listener for the HelpModelEvent posted after the model has changed.
`void` `addHighlight(int pos0, int pos1)` Highlights a range of positions in a document.
`void` `addPropertyChangeListener(java.beans.PropertyChangeListener l)` Adds a listener to changes to the properties in this model.
`void` `addTextHelpModelListener(TextHelpModelListener l)` Adds a listener for the TextHelpModelEvent posted after the model has changed.
`Map.ID` `getCurrentID()` Gets the current ID.
`java.net.URL` `getCurrentURL()` Returns the current URL
`java.lang.String` `getDocumentTitle()` Gets the document title.
`HelpSet` `getHelpSet()` Gets the backing HelpSet.
`TextHelpModel.Highlight[]` `getHighlights()` Geta all the highlights currently active.
`void` `removeAllHighlights()` Removes highlights.
`void` `removeHelpModelListener(HelpModelListener l)` Removes a listener previously added with addHelpListener
`void` `removePropertyChangeListener(java.beans.PropertyChangeListener l)` Removes a listener to changes to the properties in this model.
`void` `removeTextHelpModelListener(TextHelpModelListener l)` Removes a listener previously added with addHelpListener
`void` `setCurrentID(Map.ID ident)` Sets the current ID.
`void` `setCurrentID(Map.ID ident, java.lang.String historyName, JHelpNavigator navigator)` Sets the current ID relative to some HelpSet HelpModelListeners and HelpVisitListeners are notified
`void` `setCurrentURL(java.net.URL url)` Sets the current URL.
`void` `setCurrentURL(java.net.URL url, java.lang.String historyName, JHelpNavigator navigator)` Sets the current URL and the name wich will appear in history list.
`void` `setDocumentTitle(java.lang.String title)` Assigns the document title.
`void` `setHelpSet(HelpSet hs)` Sets the HelpSet for this HelpModel.
`void` `setHighlights(TextHelpModel.Highlight[] h)` Set highlights.

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### 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:
  `HelpSet`

Method Detail

### 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,
                             java.lang.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:
    `historyName` - the name for history storage
    `navigator` - the name of the navigator for history
    `ident` - 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(java.net.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(java.net.URL url,
                              java.lang.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 java.net.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:
    `java.lang.IllegalArgumentException` - if l is null.
  See Also:
    `HelpModel.removeHelpModelListener(javax.help.event.HelpModelListener)`

### 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:
    `java.lang.IllegalArgumentException` - if l is null.
  See Also:
    `HelpModel.addHelpModelListener(javax.help.event.HelpModelListener)`

### 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:
    `java.lang.IllegalArgumentException` - if l is null.
  See Also:
    `HelpModel.removeHelpModelListener(javax.help.event.HelpModelListener)`

### 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:
    `java.lang.IllegalArgumentException` - if l is null.
  See Also:
    `HelpModel.addHelpModelListener(javax.help.event.HelpModelListener)`

### addPropertyChangeListener

    public void addPropertyChangeListener(java.beans.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(java.beans.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(java.lang.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 java.lang.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.