Package javax.help

# Class TryMap

java.lang.Object
javax.help.TryMap

All Implemented Interfaces:
  `Serializable`, `Map`

public class TryMap extends Object implements Map, 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/interfaces inherited from interface javax.help.Map

`Map.ID`

## Constructor Summary

Constructors
Constructor
Description
`TryMap()`
Creates an empty Map.

## Method Summary

Modifier and Type
Method
Description
`void`
`add(Map map)`
Adds a map to a "filter" Map.
`Enumeration`
`getAllIDs()`
Gets an enumeration of all the IDs in a Map.
`Map.ID`
`getClosestID(URL url)`
Determines the ID that is "closest" to this URL (with a given anchor).
`Map.ID`
`getIDFromURL(URL url)`
Determines the ID for this URL.
`Enumeration`
`getIDs(URL url)`
Gets the the IDs related to this URL.
`Enumeration`
`getMaps()`
Enumerates all the Maps in this TryMap.
`URL`
`getURLFromID(Map.ID id)`
Gets the URL that corresponds to a given ID in the Map.
`boolean`
`isID(URL url)`
Determines if the URL corresponds to an ID in the Map.
`boolean`
`isValidID(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

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

## Constructor Details

### TryMap

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

## Method Details

### 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 Enumeration getMaps()
Enumerates all the Maps in this TryMap.

Returns:
  An enumeration of the Maps added.

### isValidID

public boolean isValidID(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 Enumeration getAllIDs()
Gets an enumeration of all the IDs in a Map.

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

### getURLFromID

public URL getURLFromID(Map.ID id) throws 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:
  `MalformedURLException` - if the URL specification found is malformed

### isID

public boolean isID(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(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(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 Enumeration getIDs(URL url)
Gets the the IDs related to this URL.

Specified by:
  `getIDs` in interface `Map`
Parameters:
  `URL` - The URL to compare the Map IDs to.
Returns:
  Enumeration of IDs (Strings)