javax.help
Class TryMap

java.lang.Object
  |
  +--javax.help.TryMap
All Implemented Interfaces:
Map, java.io.Serializable

public class TryMap
extends java.lang.Object
implements Map, java.io.Serializable

A Map that can combine a number of other Maps in an efficient manner. Currently this is a brute-force implementation.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.help.Map
Map.ID
 
Constructor Summary
TryMap()
          Creates an empty Map.
 
Method Summary
 void add(Map map)
          Adds a map to a "filter" Map.
 java.util.Enumeration getAllIDs()
          Gets an enumeration of all the IDs in a Map.
 Map.ID getClosestID(java.net.URL url)
          Determines the ID that is "closest" to this URL (with a given anchor).
 Map.ID getIDFromURL(java.net.URL url)
          Determines the ID for this URL.
 java.util.Enumeration getIDs(java.net.URL url)
          Gets the the IDs related to this URL.
 java.util.Enumeration getMaps()
          Enumerates all the Maps in this TryMap.
 java.net.URL getURLFromID(Map.ID id)
          Gets the URL that corresponds to a given ID in the Map.
 boolean isID(java.net.URL url)
          Determines if the URL corresponds to an ID in the Map.
 boolean isValidID(java.lang.String id, HelpSet hs)
          Determines if the ID is valid (known to in the project file).
 boolean remove(Map map)
          Removes a Map from this "filter" Map.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TryMap

public TryMap()
Creates an empty Map. This is useful for filtering and to add/remove to/from it.

Method Detail

add

public void add(Map map)
Adds a map to a "filter" Map. Adding a composed map to another is equivalent to adding the entire Map individually.

Parameters:
map - The new Map to add. If Map is null it is not added.

remove

public boolean remove(Map map)
Removes a Map from this "filter" Map.

Parameters:
map - The Map to add.
Returns:
Whether the Map is already present. If the Map is null or was not previously added, returns "false".

getMaps

public java.util.Enumeration getMaps()
Enumerates all the Maps in this TryMap.

Returns:
An enumeration of the Maps added.

isValidID

public boolean isValidID(java.lang.String id,
                         HelpSet hs)
Determines if the ID is valid (known to in the project file).

Specified by:
isValidID in interface Map
Parameters:
id - The ID to check. A null ID is a valid parameter
hs - The HelpSet against which to resolve the string.
Returns:
True if id is valid, false if not valid.

getAllIDs

public java.util.Enumeration getAllIDs()
Gets an enumeration of all the IDs in a Map.

Specified by:
getAllIDs in interface Map
Returns:
An enumeration of all the IDs in a Map.

getURLFromID

public java.net.URL getURLFromID(Map.ID id)
                          throws java.net.MalformedURLException
Gets the URL that corresponds to a given ID in the Map.

Specified by:
getURLFromID in interface Map
Parameters:
id - The ID for which to get the URL. If id is null it is treated as an unresolved ID and returns null.
Returns:
URL The matching URL. Null if this Map cannot resolve the ID.
Throws:
java.net.MalformedURLException - if the URL specification found is malformed

isID

public boolean isID(java.net.URL url)
Determines if the URL corresponds to an ID in the Map.

Specified by:
isID in interface Map
Parameters:
url - The URL to check on.
Returns:
True if this is an ID, false otherwise.

getIDFromURL

public Map.ID getIDFromURL(java.net.URL url)
Determines the ID for this URL.

Specified by:
getIDFromURL in interface Map
Parameters:
url - The URL to get the ID for.
Returns:
The ID (Map.ID), or null if URL is not an ID

getClosestID

public Map.ID getClosestID(java.net.URL url)
Determines the ID that is "closest" to this URL (with a given anchor).

Specified by:
getClosestID in interface Map
Parameters:
url - A URL
Returns:
The closest ID in this map to the given URL

getIDs

public java.util.Enumeration getIDs(java.net.URL url)
Gets the the IDs related to this URL.

Specified by:
getIDs in interface Map
Returns:
Enumeration of IDs (Strings)