org.jacorb.notification.util
Class WildcardMap
java.lang.Object
org.jacorb.notification.util.WildcardMap
public class WildcardMap
extends java.lang.Object
An Object that maps String Keys to Values. A WildcardMap cannot
contain duplicate
keys. Each Key has exactly one Entry associated. A Key can contain
the Wildcard Character '*' which matches zero or more characters of
the key. The WildcardMap supports two semantics of accessing the
entries. The first way is to ignore the special meaning of the
Wildcard character and to
just return the entries as they were inserted.
This way you could put some entries in a WildcardMap and fetch them
again using the Operation
getNoExpansion()
:
WildcardMap wc = new WildcardMap();
wc.put("abc", new Integer(1));
wc.put("a*", new Integer(2));
wc.getNoExpansion("abc") => 1
wc.getNoExpansion("a*") => 2
wc.getNoExpansion("xyz") => null
This behaviour is similiar to a
Map
.
The other way using the WildcardMap is to call the Operation
getWithExpansion()
. This Operations
matches the requested Key to all contained Keys. If the Key of an Entry
contains the Wildcard Character '*' it is matched
as expected by the semantic of '*'. The Operations returns an array
of all matching entries:
wc.getWithExpansion("abc") => [1,2]
wc.getWithExpansion("a") => [2]
wc.getWithExpansion("abcd") => [2]
wc.getWithExpansion("xyz") => []
Version:
- Alphonse Bendt
void | clear() - clear this map
|
Object | getNoExpansion(Object key) - Returns the value to which this map maps the specified
key.
|
Object[] | getWithExpansion(Object key) - Returns the value to which this map maps the specified
key.
|
Object | put(Object key, Object value) - The operation
put associates the specified value
with the specified key in this map.
|
Object | remove(Object key) - remove the specified key from this Map.
|
String | toString()
|
WildcardMap
public WildcardMap()
WildcardMap
public WildcardMap(int topLevelSize)
clear
public void clear()
clear this map
getNoExpansion
public Object getNoExpansion(Object key)
Returns the value to which this map maps the specified
key. Returns null if the map contains no mapping for this key.
key
- key whose associated value is to be returned
- the value to which this map maps the specified key, or
null if the map contains no mapping for this key.
getWithExpansion
public Object[] getWithExpansion(Object key)
Returns the value to which this map maps the specified
key. Additionaly return all Values which keys contain a
Wildcard and match the requested key. Returns null if the map
contains no mapping for this key.
key
- key whose associated value is to be returned
- an Array of all Matching entries or null if no matching
entry could be found.
put
public Object put(Object key,
Object value)
The operation put
associates the specified value
with the specified key in this map. The String representation
of the Key toString()
is
used. If the map previously
contained a mapping for this key, the old value is replaced by
the specified value.
key
- key with which String representation the specified value
is to be associated.value
- value to be associated with the specified key.
- previous value associated with specified key, or null
if there was no mapping for key.
remove
public Object remove(Object key)
remove the specified key from this Map.
toString
public String toString()
- a String representation of this WildcardMap