Package javax.help

# 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:
  - Serialized Form

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`static class`
`DefaultHelpModel.DefaultHighlight`
A default implementation of TextHelpModel.Highlight

## Nested classes/interfaces inherited from interface javax.help.TextHelpModel

`TextHelpModel.Highlight`

## Field Summary

Fields
Modifier and Type
Field
Description
`protected PropertyChangeSupport`
`changes`
`protected EventListenerList`
`listenerList`
`protected EventListenerList`
`textListenerList`

## Constructor Summary

Constructors
Constructor
Description
`DefaultHelpModel(HelpSet hs)`
Constructs a HelpModel from a HelpSet

## Method Summary

Modifier and Type
Method
Description
`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(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.
`protected void`
`fireHighlightsChanged(Object source)`
`protected void`
`fireIDChanged(Object source, Map.ID id, URL url)`
`protected void`
`fireIDChanged(Object source, Map.ID id, URL url, String historyName, JHelpNavigator navigator)`
`Map.ID`
`getCurrentID()`
Gets the current ID.
`URL`
`getCurrentURL()`
Returns the current URL
`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(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, String historyName, JHelpNavigator navigator)`
Sets the current ID relative to some HelpSet HelpModelListeners and HelpVisitListeners are notified
`void`
`setCurrentURL(URL url)`
Sets the current URL.
`void`
`setCurrentURL(URL url, String historyName, JHelpNavigator navigator)`
Sets the current URL and the name wich will appear in history list.
`void`
`setDocumentTitle(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

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

## Field Details

### listenerList

protected EventListenerList listenerList

### textListenerList

protected EventListenerList textListenerList

### changes

protected PropertyChangeSupport changes

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

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

### 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)