java.util
Class Collections.UnmodifiableMap.UnmodifiableEntrySet.UnmodifiableEntry

java.lang.Object
  extended byjava.util.Collections.UnmodifiableMap.UnmodifiableEntrySet.UnmodifiableEntry
All Implemented Interfaces:
Map.Entry
Enclosing class:
Collections.UnmodifiableMap.UnmodifiableEntrySet

private static class Collections.UnmodifiableMap.UnmodifiableEntrySet.UnmodifiableEntry
extends Object
implements Map.Entry

This "wrapper class" serves two purposes: it prevents the client from modifying the backing Map, by short-circuiting the setValue method, and it protects the backing Map against an ill-behaved Map.Entry that attempts to modify another Map Entry when asked to perform an equality check.


Field Summary
private  Map.Entry e
           
 
Constructor Summary
(package private) Collections.UnmodifiableMap.UnmodifiableEntrySet.UnmodifiableEntry(Map.Entry e)
           
 
Method Summary
 boolean equals(Object o)
          Compares the specified object with this entry for equality.
 Object getKey()
          Returns the key corresponding to this entry.
 Object getValue()
          Returns the value corresponding to this entry.
 int hashCode()
          Returns the hash code value for this map entry.
 Object setValue(Object value)
          Replaces the value corresponding to this entry with the specified value (optional operation).
 String toString()
          Returns a string representation of the object.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

e

private Map.Entry e
Constructor Detail

Collections.UnmodifiableMap.UnmodifiableEntrySet.UnmodifiableEntry

Collections.UnmodifiableMap.UnmodifiableEntrySet.UnmodifiableEntry(Map.Entry e)
Method Detail

getKey

public Object getKey()
Description copied from interface: Map.Entry
Returns the key corresponding to this entry.

Specified by:
getKey in interface Map.Entry
Returns:
the key corresponding to this entry.

getValue

public Object getValue()
Description copied from interface: Map.Entry
Returns the value corresponding to this entry. If the mapping has been removed from the backing map (by the iterator's remove operation), the results of this call are undefined.

Specified by:
getValue in interface Map.Entry
Returns:
the value corresponding to this entry.

setValue

public Object setValue(Object value)
Description copied from interface: Map.Entry
Replaces the value corresponding to this entry with the specified value (optional operation). (Writes through to the map.) The behavior of this call is undefined if the mapping has already been removed from the map (by the iterator's remove operation).

Specified by:
setValue in interface Map.Entry
Parameters:
value - new value to be stored in this entry.
Returns:
old value corresponding to the entry.

hashCode

public int hashCode()
Description copied from interface: Map.Entry
Returns the hash code value for this map entry. The hash code of a map entry e is defined to be:
     (e.getKey()==null   ? 0 : e.getKey().hashCode()) ^
     (e.getValue()==null ? 0 : e.getValue().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.

Specified by:
hashCode in interface Map.Entry
Overrides:
hashCode in class Object
Returns:
a hash code value for this object.
See Also:
Object.equals(java.lang.Object), Hashtable

equals

public boolean equals(Object o)
Description copied from interface: Map.Entry
Compares the specified object with this entry for equality. Returns true if the given object is also a map 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.getValue()==null ?
      e2.getValue()==null : e1.getValue().equals(e2.getValue()))
 
This ensures that the equals method works properly across different implementations of the Map.Entry interface.

Specified by:
equals in interface Map.Entry
Overrides:
equals in class Object
Parameters:
o - the reference object with which to compare.
Returns:
true if this object is the same as the obj argument; false otherwise.
See Also:
Object.hashCode(), Hashtable

toString

public String toString()
Description copied from class: Object
Returns a string representation of the object. In general, the toString method returns a string that "textually represents" this object. The result should be a concise but informative representation that is easy for a person to read. It is recommended that all subclasses override this method.

The toString method for class Object returns a string consisting of the name of the class of which the object is an instance, the at-sign character `@', and the unsigned hexadecimal representation of the hash code of the object. In other words, this method returns a string equal to the value of:

 getClass().getName() + '@' + Integer.toHexString(hashCode())
 

Overrides:
toString in class Object
Returns:
a string representation of the object.