javax.help

Class DefaultHelpModel

Implemented Interfaces:
HelpModel, Serializable, TextHelpModel

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

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

Nested Class Summary

static class
DefaultHelpModel.DefaultHighlight
A default implementation of TextHelpModel.Highlight

Field Summary

protected PropertyChangeSupport
changes
protected EventListenerList
listenerList
protected EventListenerList
textListenerList

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(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.

Field Details

changes

protected PropertyChangeSupport changes

listenerList

protected EventListenerList listenerList

textListenerList

protected EventListenerList textListenerList

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

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.

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

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

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.

fireHighlightsChanged

protected void fireHighlightsChanged(Object source)

fireIDChanged

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

fireIDChanged

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

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.

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.

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.

getHelpSet

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

getHighlights

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

removeAllHighlights

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

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.

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.

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.

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:
historyName - the name for history storage
navigator - the name of the navigator for history
Throws:
InvalidHelpSetContextException - The HelpSet of the ID is not valid for the HelpSet currently loaded in the model

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

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.

setHelpSet

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

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