sunlabs.brazil.util
public class StringMap extends Dictionary
StringMap
class is a substitute for the Hashtable.
The StringMap has the following properties: null
.
Version: 2.5
Constructor Summary | |
---|---|
StringMap()
Creates an empty StringMap. |
Method Summary | |
---|---|
void | add(String key, String value)
Maps the given case-insensitive key to the specified value in this
StringMap.
|
void | append(StringMap other, boolean noReplace)
Append another Stringmap onto this one. |
void | clear()
Removes all the keys and values from this StringMap. |
Enumeration | elements()
Returns an enumeration of the values in this StringMap. |
String | get(int index)
Returns the value at the specified index. |
String | get(String key)
Returns the value that the specified case-insensitive key maps to
in this StringMap.
|
String | get(String key, String dflt)
Returns the value that the specified case-insensitive key maps to
in this StringMap. |
Object | get(Object key)
Performs the same job as get(String) . |
String | getKey(int index)
Returns the key at the specified index. |
boolean | isEmpty()
Tests if there are any elements in this StringMap.
|
Enumeration | keys()
Returns an enumeration of the keys in this StringMap. |
void | put(int index, String value)
Maps the key at the given index to the specified value in this
StringMap. |
void | put(String key, String value)
Maps the given case-insensitive key to the specified value in this
StringMap.
|
Object | put(Object key, Object value)
Performs the same job as put(String, String) . |
void | remove(String key)
Removes the given case-insensitive key and its corresponding value
from this StringMap. |
void | remove(int i) |
Object | remove(Object key)
Performs the same job as remove(String) . |
int | size()
Returns the number of elements in this StringMap. |
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 ", ". |
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
.
value
The new value. May be null
.
Parameters: other the map to append to this one noReplace should existing values be replaced?
Returns: An enumeration of the values.
See Also: keys
UNKNOWN: Dictionary#elements
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.
Returns: The value at the specified index.
Throws: IndexOutOfBoundsException if the index is out of the allowed range.
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
.
Returns: The value to which the specified key is mapped, or
null
if the key is not in the StringMap.
See Also: keys
Parameters: key
A key in this StringMap. May not be null
. dflt
A default value if the entry for key
is not found.
Returns: The value to which the specified key is mapped, or
dflt
if the key is not in the StringMap.
get(String)
. It exists so
this class can extend the Dictionary
class.
Parameters: key Must be a String.
Returns: A String value.
Throws: ClassCastException
if the key
is not a String.
UNKNOWN: Dictionary#get
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.
Returns: The key at the specified index.
Throws: IndexOutOfBoundsException if the index is out of the allowed range.
Returns: Returns true
if there are no elements,
false
otherwise.
UNKNOWN: Dictionary#isEmpty
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); }
Returns: An enumeration of the keys.
See Also: StringMap StringMap StringMap StringMap
UNKNOWN: Dictionary#keys
0
to
size() - 1
.
Parameters: index The index of the key.
Returns: The value at the specified index.
Throws: IndexOutOfBoundsException if the index is out of the allowed range.
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
.
value
The new value. May be null
.
Returns: The previous value to which key
was mapped,
or null
if the the key did not map to any
value.
put(String, String)
. It exists
so this class can extend the Dictionary
class.
Parameters: key Must be a String. value Must be a String.
Returns: The previous value to which key
was mapped,
or null
if the the key did not map to any
value.
Throws: ClassCastException
if the key
or value
is not a
String.
UNKNOWN: Dictionary#put
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 be
null
.
remove(String)
. It exists so
this class can extend the Dictionary
class.
Parameters: key Must be a String.
Returns: The string value to which the key had been mapped, or
null
if the key did not have a mapping.
Throws: ClassCastException
if the key
is not a String.
UNKNOWN: Dictionary#remove
Returns: The number of elements in this StringMap.
See Also: keys
UNKNOWN: Dictionary#size
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.
Returns: The string representation of this StringMap
.