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