Package com.tangosol.util
Class SegmentedHashMap.Entry
java.lang.Object
com.tangosol.util.Base
com.tangosol.util.SegmentedHashMap.Entry
- All Implemented Interfaces:
Map.Entry
- Direct Known Subclasses:
SegmentedConcurrentMap.LockableEntry
- Enclosing class:
SegmentedHashMap
A map entry (key-value pair). The Map.entrySet method returns
a collection-view of the map, whose elements are of this class.
-
Nested Class Summary
Nested classes/interfaces inherited from class com.tangosol.util.Base
Base.LoggingWriter
-
Field Summary
Modifier and TypeFieldDescriptionprotected SegmentedHashMap.Entry
The next entry in the linked list (an open hashing implementation).protected final int
The key's hash code.protected final Object
The key.protected Object
The value. -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionboolean
Compares the specified object with this entry for equality.getKey()
Returns the key corresponding to this entry.getValue()
Returns the value corresponding to this entry.protected Object
Returns the value corresponding to this entry, or NO_VALUE if this Entry is synthetid.int
hashCode()
Returns the hash code value for this map entry.protected boolean
Is this Entry synthetic?protected SegmentedHashMap.Entry
Get the next non-synthetic entry in the linked list (open hash)protected SegmentedHashMap.Entry
nextEntry
(boolean fSynthetic) Get the next entry in the linked list (open hash).protected void
setNext
(SegmentedHashMap.Entry eNext) Set the next entry in the linked list (open hash)Replaces the value corresponding to this entry with the specified value (writes through to the map).protected Object
setValueInternal
(Object oValue) Replaces the value corresponding to this entry with the specified value (writes through to the map).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 Details
-
m_oKey
The key. This object reference will not change for the life of the Entry. -
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 final int m_nHashThe key's hash code. This value will not change for the life of the Entry. -
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.
-
-
Constructor Details
-
Entry
Construct an Entry object with the specified key, value and hash.- Parameters:
oKey
- key with which the specified value is to be associatedoValue
- value to be associated with the specified keynHash
- the hashCode for the specified key
-
-
Method Details
-
getKey
Returns the key corresponding to this entry. -
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. -
getValueInternal
Returns the value corresponding to this entry, or NO_VALUE if this Entry is synthetid. If the mapping has been removed from the backing map (by the iterator's remove operation), the results of this call are undefined.- Returns:
- the value corresponding to this entry, or NO_VALUE if the Entry is synthetic
-
setValue
Replaces the value corresponding to this entry with the specified value (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). -
setValueInternal
Replaces the value corresponding to this entry with the specified value (writes through to the map). The behavior of this call is undefined if the mapping has already been removed from the map.- Parameters:
oValue
- new value to be stored in this entry- Returns:
- old value corresponding to the entry, or NO_VALUE if the Entry was synthetic
-
equals
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
Render the map entry as a String. -
isSynthetic
protected boolean isSynthetic()Is this Entry synthetic?- Returns:
- true iff this Entry is synthetic
-
setNext
Set the next entry in the linked list (open hash)- Parameters:
eNext
- the next Entry
-
nextEntry
Get the next non-synthetic entry in the linked list (open hash)- Returns:
- the next non-synthetic entry in the linked list
-
nextEntry
Get the next entry in the linked list (open hash). If fSynthetic is specified, also return synthetic Entry objects. Synethetic entries are Entry objects logically associated with a given key, but do not represent a key-value mapping in this map.- Parameters:
fSynthetic
- include synthetic Entry objects?- Returns:
- the next Entry in the linked list
-