org.jacorb.notification.util

Interface WildcardMap

public interface WildcardMap

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. 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 java.util.Map Map.
The other way using the WildcardMap is to use 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: $Id: WildcardMap.java,v 1.16 2005/08/21 13:38:40 alphonse.bendt Exp $

Author: Alphonse Bendt

Method Summary
voidclear()
clear this map
ObjectgetNoExpansion(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.
Objectput(Object key, Object value)
The operation put associates the specified value with the specified key in this map.
Objectremove(Object key)
remove the specified key from this Map.

Method Detail

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.

Parameters: key key whose associated value is to be returned

Returns: 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.

Parameters: key key whose associated value is to be returned

Returns: 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 java.lang.Object#toString() toString() is used. If the map previously contained a mapping for this key, the old value is replaced by the specified value.

Parameters: key key with which String representation the specified value is to be associated. value value to be associated with the specified key.

Returns: 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.