org.jfree.util

Class HashNMap

public class HashNMap extends Object implements Serializable, Cloneable

The HashNMap can be used to store multiple values by a single key value. The values stored can be retrieved using a direct query or by creating an enumeration over the stored elements.

Author: Thomas Morgner

Constructor Summary
HashNMap()
Default constructor.
Method Summary
booleanadd(Object key, Object val)
Adds a new key/value pair into this map.
voidclear()
Clears all keys and values of this map.
Objectclone()
Creates a deep copy of this HashNMap.
booleancontains(Object value)
Tests whether this map contains the given key or value.
booleancontainsKey(Object key)
Tests whether this map contains the given key.
booleancontainsValue(Object value)
Tests whether this map contains the given value.
booleancontainsValue(Object key, Object value)
Tests whether this map contains the given value.
protected ListcreateList()
Returns a new empty list.
Objectget(Object key, int n)
Retrieves the n-th value registered for an key or null if there was no such key in the list.
IteratorgetAll(Object key)
Returns an iterator over all elements registered to the given key.
ObjectgetFirst(Object key)
Retrieves the first value registered for an key or null if there was no such key in the list.
intgetValueCount(Object key)
Returns the number of elements registered with the given key.
Iteratorkeys()
Returns all registered keys as an enumeration.
SetkeySet()
Returns all registered keys as set.
booleanput(Object key, Object val)
Inserts a new key/value pair into the map.
booleanremove(Object key, Object value)
Removes the key/value pair from the map.
voidremoveAll(Object key)
Removes all elements for the given key.
Object[]toArray(Object key, Object[] data)
Returns the contents for the given key as object array.
Object[]toArray(Object key)
Returns the contents for the given key as object array.

Constructor Detail

HashNMap

public HashNMap()
Default constructor.

Method Detail

add

public boolean add(Object key, Object val)
Adds a new key/value pair into this map. If the key is not yet in the map, it gets added to the map and the call is equal to put(Object,Object).

Parameters: key the key. val the value.

Returns: true, if the value has been added, false otherwise

clear

public void clear()
Clears all keys and values of this map.

clone

public Object clone()
Creates a deep copy of this HashNMap.

Returns: a clone.

Throws: CloneNotSupportedException this should never happen.

contains

public boolean contains(Object value)
Tests whether this map contains the given key or value.

Parameters: value the value.

Returns: true if the key or value is contained in the map

containsKey

public boolean containsKey(Object key)
Tests whether this map contains the given key.

Parameters: key the key.

Returns: true if the key is contained in the map

containsValue

public boolean containsValue(Object value)
Tests whether this map contains the given value.

Parameters: value the value.

Returns: true if the value is registered in the map for an key.

containsValue

public boolean containsValue(Object key, Object value)
Tests whether this map contains the given value.

Parameters: value the value. key the key under which to find the value

Returns: true if the value is registered in the map for an key.

createList

protected List createList()
Returns a new empty list.

Returns: A new empty list.

get

public Object get(Object key, int n)
Retrieves the n-th value registered for an key or null if there was no such key in the list. An index out of bounds exception is thrown if there are less than n elements registered to this key.

Parameters: key the key. n the index.

Returns: the object.

getAll

public Iterator getAll(Object key)
Returns an iterator over all elements registered to the given key.

Parameters: key the key.

Returns: an iterator.

getFirst

public Object getFirst(Object key)
Retrieves the first value registered for an key or null if there was no such key in the list.

Parameters: key the key.

Returns: the value.

getValueCount

public int getValueCount(Object key)
Returns the number of elements registered with the given key.

Parameters: key the key.

Returns: the number of element for this key, or 0 if there are no elements registered.

keys

public Iterator keys()
Returns all registered keys as an enumeration.

Returns: an enumeration of the keys.

keySet

public Set keySet()
Returns all registered keys as set.

Returns: a set of keys.

put

public boolean put(Object key, Object val)
Inserts a new key/value pair into the map. If such a pair already exists, it gets replaced with the given values.

Parameters: key the key. val the value.

Returns: A boolean.

remove

public boolean remove(Object key, Object value)
Removes the key/value pair from the map. If the removed entry was the last entry for this key, the key gets also removed.

Parameters: key the key. value the value.

Returns: true, if removing the element was successfull, false otherwise.

removeAll

public void removeAll(Object key)
Removes all elements for the given key.

Parameters: key the key.

toArray

public Object[] toArray(Object key, Object[] data)
Returns the contents for the given key as object array. If there were no objects registered with that key, an empty object array is returned.

Parameters: key the key. data the object array to receive the contents.

Returns: the contents.

toArray

public Object[] toArray(Object key)
Returns the contents for the given key as object array. If there were no objects registered with that key, an empty object array is returned.

Parameters: key the key.

Returns: the contents.