Package com.tangosol.util
Class SafeHashMap.Entry<K,V>
- java.lang.Object
-
- com.tangosol.util.Base
-
- com.tangosol.util.SafeHashMap.Entry<K,V>
-
- All Implemented Interfaces:
Serializable
,Cloneable
,Map.Entry<K,V>
- Direct Known Subclasses:
ObservableHashMap.Entry
,OldCache.Entry
- Enclosing class:
- SafeHashMap<K,V>
protected static class SafeHashMap.Entry<K,V> extends Base implements Map.Entry<K,V>, Cloneable, Serializable
A map entry (key-value pair). The Map.entrySet method returns a collection-view of the map, whose elements are of this class.- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.tangosol.util.Base
Base.LoggingWriter
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
Entry()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Object
clone()
Clone the Entry.protected void
copyFrom(SafeHashMap.Entry<K,V> entry)
Copy this Entry's information from another Entry.boolean
equals(Object o)
Compares the specified object with this entry for equality.K
getKey()
Returns the key corresponding to this entry.V
getValue()
Returns the value corresponding to this entry.int
hashCode()
Returns the hash code value for this map entry.protected void
onAdd()
This method is invoked when the containing Map has actually added this Entry to itself.V
setValue(V value)
Replaces the value corresponding to this entry with the specified value (optional operation).String
toString()
Render the map entry as a String.-
Methods inherited from class com.tangosol.util.Base
azzert, azzert, azzert, azzertFailed, breakLines, breakLines, capitalize, checkNotEmpty, checkNotNull, checkRange, computeSafeWaitTime, decimalValue, dup, dup, ensureBigDecimal, ensureClassLoader, ensureRuntimeException, ensureRuntimeException, equals, equalsDeep, err, err, err, err, err, escape, formatDateTime, getCallerStackFrame, getCommonMonitor, getCommonMonitor, getCommonMonitor, getContextClassLoader, getContextClassLoader, getDeepMessage, getErr, getLastSafeTimeMillis, getLog, getMaxDecDigits, getMaxHexDigits, getOriginalException, getOut, getProcessRandom, getRandom, getRandomBinary, getRandomBinary, getRandomString, getSafeTimeMillis, getStackFrame, getStackFrames, getStackTrace, getStackTrace, getStackTrace, getThreadFactory, getTimeZone, getUpTimeMillis, hashCode, hexValue, indentString, indentString, isDecimal, isHex, isLogEcho, isOctal, log, log, log, log, log, makeInteger, makeLong, makeThread, mergeArray, mergeBooleanArray, mergeByteArray, mergeCharArray, mergeDoubleArray, mergeFloatArray, mergeIntArray, mergeLongArray, mod, mod, octalValue, out, out, out, out, out, pad, parseBandwidth, parseBandwidth, parseDelimitedString, parseHex, parseHex, parseMemorySize, parseMemorySize, parsePercentage, parseTime, parseTime, parseTimeNanos, parseTimeNanos, printStackTrace, randomize, randomize, randomize, randomize, read, read, read, read, read, read, read, replace, setErr, setLog, setLogEcho, setOut, sleep, toBandwidthString, toBandwidthString, toCharEscape, toCrc, toCrc, toCrc, toCrc, toCrc, toDecString, toDelimitedString, toDelimitedString, toDelimitedString, toDelimitedString, toHex, toHex, toHexDump, toHexEscape, toHexEscape, toHexEscape, toHexEscape, toHexString, toMemorySizeString, toMemorySizeString, toQuotedCharEscape, toQuotedStringEscape, toSqlString, toString, toString, toStringEscape, toUnicodeEscape, trace, trace, trace, trace, trace, trace, trace, trace, trace, truncateString, truncateString, wait
-
-
-
-
Field Detail
-
m_oKey
protected K m_oKey
The key. This object reference will not change for the life of the Entry.
-
m_oValue
protected volatile V m_oValue
The value. This object reference can change within the life of the Entry. This field is declared volatile so that get() and put() can proceed without performing any synchronization.
-
m_nHash
protected int m_nHash
The key's hash code. This value will not change for the life of the Entry.
-
m_eNext
protected volatile SafeHashMap.Entry<K,V> m_eNext
The next entry in the linked list (an open hashing implementation). This field is declared volatile so the entry iterator can safely operate without performing any synchronization.
-
-
Method Detail
-
getKey
public K getKey()
Returns the key corresponding to this entry.
-
getValue
public V getValue()
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.
-
setValue
public V setValue(V value)
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).
-
equals
public boolean equals(Object o)
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.
-
hashCode
public int hashCode()
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.
-
toString
public String toString()
Render the map entry as a String.
-
clone
public Object clone()
Clone the Entry. This will not work for non-static inner children being cloned for purposes of cloning a containing Map; instead usecopyFrom
.
-
copyFrom
protected void copyFrom(SafeHashMap.Entry<K,V> entry)
Copy this Entry's information from another Entry. Sub-classes must implement this method if they add any additional fields.- Parameters:
entry
- the entry to copy from
-
onAdd
protected void onAdd()
This method is invoked when the containing Map has actually added this Entry to itself.
-
-