| java.lang.Object java.util.Dictionary sunlabs.brazil.util.StringMap
All known Subclasses: sunlabs.brazil.util.http.MimeHeaders,
StringMap | public class StringMap extends Dictionary (Code) | | The StringMap class is a substitute for the Hashtable.
The StringMap has the following properties:
- Maps case-insensitive string keys to string values.
- The case of the keys is preserved.
- Values may be
null .
- Preserves the relative order of the data.
- The same key may appear multiple times in a single map.
- This map is implemented via a Vector, and as such, as the number of
keys increases, the time required to search will go up.
author: Colin Stevens (colin.stevens@sun.com) version: 1.11, 00/03/29 |
Constructor Summary | |
public | StringMap() Creates an empty StringMap. |
Method Summary | |
public void | add(String key, String value) Maps the given case-insensitive key to the specified value in this
StringMap.
The new mapping is added to this StringMap even if the given key
already has a mapping. | public void | clear() Removes all the keys and values from this StringMap. | public Enumeration | elements() Returns an enumeration of the values in this StringMap. | public String | get(int index) Returns the value at the specified index. | public String | get(String key) Returns the value that the specified case-insensitive key maps to
in this StringMap.
The same key may appear multiple times in the enumeration; this
method always returns the value associated with the first
occurrence of the specified key. | public Object | get(Object key) Performs the same job as get(String) . | public String | getKey(int index) Returns the key at the specified index. | public boolean | isEmpty() Tests if there are any elements in this StringMap. | public Enumeration | keys() Returns an enumeration of the keys in this StringMap. | public void | put(int index, String value) Maps the key at the given index to the specified value in this
StringMap. | public void | put(String key, String value) Maps the given case-insensitive key to the specified value in this
StringMap.
The value can be retrieved by calling get with a
key that is case-insensitive equal to the given key.
If this StringMap already contained a mapping for the given key,
the old value is forgotten and the new specified value is used.
The case of the prior key is retained in that case. | public Object | put(Object key, Object value) Performs the same job as put(String, String) . | public void | remove(String key) Removes the given case-insensitive key and its corresponding value
from this StringMap. | public void | remove(int i) | public Object | remove(Object key) Performs the same job as remove(String) . | public int | size() Returns the number of elements in this StringMap. | public String | toString() Returns a string representation of this StringMap in the
form of a set of entries, enclosed in braces and separated by the
characters ", ". |
StringMap | public StringMap()(Code) | | Creates an empty StringMap.
|
add | public void add(String key, String value)(Code) | | Maps the given case-insensitive key to the specified value in this
StringMap.
The new mapping is added to this StringMap even if the given key
already has a mapping. In this way it is possible to create a key
that maps to two or more values.
Since the same key may appear multiple times in this StringMap, it
is necessary to iterate over the entire StringMap to retrieve all
values associated with a given key.
Parameters: key - The new key. May not be null . Parameters: value - The new value. May be null . See Also: StringMap.put(String,String) See Also: StringMap.keys |
clear | public void clear()(Code) | | Removes all the keys and values from this StringMap.
|
elements | public Enumeration elements()(Code) | | Returns an enumeration of the values in this StringMap. The elements
of the enumeration are strings.
An enumeration of the values. See Also: StringMap.keys |
get | public String get(int index) throws IndexOutOfBoundsException(Code) | | Returns the value at the specified index. The index ranges from
0 to size() - 1 .
This method can be used to iterate over all the values in this
StringMap in the order in which they were inserted, subject to any
intervening deletions.
Parameters: index - The index of the key. The value at the specified index. throws: IndexOutOfBoundsException - if the index is out of the allowed range. |
get | public String get(String key)(Code) | | Returns the value that the specified case-insensitive key maps to
in this StringMap.
The same key may appear multiple times in the enumeration; this
method always returns the value associated with the first
occurrence of the specified key. In order to get all the values,
it is necessary to iterate over the entire StringMap to retrieve
all the values associated with a given key.
Parameters: key - A key in this StringMap. May not be null . The value to which the specified key is mapped, ornull if the key is not in the StringMap. See Also: StringMap.keys |
getKey | public String getKey(int index) throws IndexOutOfBoundsException(Code) | | Returns the key at the specified index. The index ranges from
0 to size() - 1 .
This method can be used to iterate over all the keys in this
StringMap in the order in which they were inserted, subject to any
intervening deletions.
Parameters: index - The index of the key. The key at the specified index. throws: IndexOutOfBoundsException - if the index is out of the allowed range. |
isEmpty | public boolean isEmpty()(Code) | | Tests if there are any elements in this StringMap.
Returns true if there are no elements,false otherwise. |
keys | public Enumeration keys()(Code) | | Returns an enumeration of the keys in this StringMap. The elements
of the enumeration are strings.
The same key may appear multiple times in the enumeration, not
necessarily consecutively. Since get always returns
the value associated with the first occurrence of a given key, a
StringMap cannot be enumerated in the same fashion as a Hashtable.
Instead, the caller should use:
Enumeration keys = map.keys();
Enumeration values = map.elements();
while (keys.hasMoreElements()) {
String key = (String) keys.nextElement();
String value = (String) values.nextElement();
}
or:
for (int i = 0; i < map.size(); i++) {
String key = map.getKey(i);
String value = map.get(i);
}
An enumeration of the keys. See Also: StringMap.elements See Also: StringMap.size See Also: StringMap.getKey See Also: StringMap.get |
put | public void put(int index, String value)(Code) | | Maps the key at the given index to the specified value in this
StringMap. The index ranges from 0 to
size() - 1 .
Parameters: index - The index of the key. The value at the specified index. throws: IndexOutOfBoundsException - if the index is out of the allowed range. |
put | public void put(String key, String value)(Code) | | Maps the given case-insensitive key to the specified value in this
StringMap.
The value can be retrieved by calling get with a
key that is case-insensitive equal to the given key.
If this StringMap already contained a mapping for the given key,
the old value is forgotten and the new specified value is used.
The case of the prior key is retained in that case. Otherwise
the case of the new key is used.
Parameters: key - The new key. May not be null . Parameters: value - The new value. May be null . The previous value to which key was mapped,or null if the the key did not map to anyvalue. |
put | public Object put(Object key, Object value)(Code) | | Performs the same job as put(String, String) . It exists
so this class can extend the Dictionary class.
Parameters: key - Must be a String. Parameters: value - Must be a String. The previous value to which key was mapped,or null if the the key did not map to anyvalue. throws: ClassCastException - if the key or value is not aString. See Also: StringMap.put(String,String) |
remove | public void remove(String key)(Code) | | Removes the given case-insensitive key and its corresponding value
from this StringMap. This method does nothing if the key is not in
this StringMap.
The same key may appear in multiple times in this StringMap; this
method only removes the first occurrence of the key.
Parameters: key - The key that needs to be removed. Must not benull . |
remove | public void remove(int i)(Code) | | |
remove | public Object remove(Object key)(Code) | | Performs the same job as remove(String) . It exists so
this class can extend the Dictionary class.
Parameters: key - Must be a String. The string value to which the key had been mapped, ornull if the key did not have a mapping. throws: ClassCastException - if the key is not a String. |
size | public int size()(Code) | | Returns the number of elements in this StringMap. Every occurrence of
keys that appear multiple times is counted.
The number of elements in this StringMap. See Also: StringMap.keys |
toString | public String toString()(Code) | | Returns a string representation of this StringMap in the
form of a set of entries, enclosed in braces and separated by the
characters ", ". Each entry is rendered as the key, an equals sign
"=", and the associated value.
The string representation of this StringMap . |
|
|