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