com.neoworks.util
Interface MultiMap.Entry

Enclosing interface:
MultiMap

public static interface MultiMap.Entry

A multimap entry (key-value pair). The MultiMap.entrySet method returns a collection-view of the multimap, whose elements are of this class. The only way to obtain a reference to a multimap entry is from the iterator of this collection-view. These MultiMap.Entry objects are valid only for the duration of the iteration; more formally, the behavior of a multimap entry is undefined if the backing multimap has been modified after the entry was returned by the iterator, except through the iterator's own remove operation, or through the setValue operation on a multimap entry returned by the iterator.

Version:
0.1
Author:
Stuart Farnan stuart@neoworks.com

Method Summary
 boolean equals(java.lang.Object o)
          Compares the specified object with this entry for equality.
 java.lang.Object getKey()
          Returns the key corresponding to this entry.
 java.lang.Object getValue()
          Returns the value corresponding to this entry.
 int hashCode()
          Returns the hash code value for this multimap entry.
 java.lang.Object setValue(java.lang.Object value)
          Replaces the value corresponding to this entry with the specified value (optional operation).
 

Method Detail

getKey

public java.lang.Object getKey()
Returns the key corresponding to this entry.

Returns:
The key corresponding to this entry.

getValue

public java.lang.Object getValue()
Returns the value corresponding to this entry. If the mapping has been removed from the backing multimap (by the iterator's remove operation), the results of this call are undefined.

Returns:
The value corresponding to this entry.

setValue

public java.lang.Object setValue(java.lang.Object value)
                          throws java.lang.UnsupportedOperationException,
                                 java.lang.ClassCastException,
                                 java.lang.IllegalArgumentException,
                                 java.lang.NullPointerException
Replaces the value corresponding to this entry with the specified value (optional operation). (Writes through to the multimap.) The behavior of this call is undefined if the mapping has already been removed from the multimap (by the iterator's remove operation).

Parameters:
value - The value to set
Returns:
The old value corresponding to the entry.
Throws:
java.lang.UnsupportedOperationException - If the put operation is not supported by the backing multimap.
java.lang.ClassCastException - If the class of the specified value prevents it from being stored in the backing multimap.
java.lang.IllegalArgumentException - If some aspect of this value prevents it from being stored in the backing multimap.
java.lang.NullPointerException - The backing multimap does not permit null values, and the specified value is null.

equals

public boolean equals(java.lang.Object o)
Compares the specified object with this entry for equality. Returns true if the given object is also a multimap entry and the two entries represent the same mapping. More formally, two entries e1 and e2 represent the same mapping if:

(e1.getKey() == null ? e2.getKey() == null : e1.getKey().equals(e2.getKey())) &&
(e1.getValues() == null ? e2.getValues() == null : e1.getValues().equals(e2.getValues()))

This ensures that the equals method works properly across different implementations of the MultiMap.Entry interface.

Overrides:
equals in class java.lang.Object
Parameters:
o - The object to compare with
Returns:
true if the specified object is equal to this multimap entry.

hashCode

public int hashCode()
Returns the hash code value for this multimap entry. The hash code of a multimap entry e is defined to be:

(e.getKey() == null ? 0 : e.getKey().hashCode()) ^
(e.getValues() == null ? 0 : e.getValues().hashCode())

This ensures that e1.equals(e2) implies that e1.hashCode() == e2.hashCode() for any two entries e1 and e2, as required by the general contract of Object.hashCode.

Overrides:
hashCode in class java.lang.Object
Returns:
The hash code value for this multimap entry.