Package gw.util.concurrent
Class Cache.ConcurrentLinkedHashMap.Node<K,V>
- java.lang.Object
-
- gw.util.concurrent.Cache.ConcurrentLinkedHashMap.Node<K,V>
-
- All Implemented Interfaces:
java.io.Serializable
- Enclosing class:
- Cache.ConcurrentLinkedHashMap<K,V>
static final class Cache.ConcurrentLinkedHashMap.Node<K,V> extends java.lang.Object implements java.io.SerializableA node on the double-linked list. This list cross-cuts the data store.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classCache.ConcurrentLinkedHashMap.Node.State
-
Field Summary
Fields Modifier and Type Field Description private Kkeyprivate booleanmarkedprivate Cache.ConcurrentLinkedHashMap.Node<K,V>nextprivate static java.util.concurrent.atomic.AtomicReferenceFieldUpdater<Cache.ConcurrentLinkedHashMap.Node,Cache.ConcurrentLinkedHashMap.Node>nextUpdaterprivate Cache.ConcurrentLinkedHashMap.Node<K,V>prevprivate static java.util.concurrent.atomic.AtomicReferenceFieldUpdater<Cache.ConcurrentLinkedHashMap.Node,Cache.ConcurrentLinkedHashMap.Node>prevUpdaterprivate static longserialVersionUIDprivate Cache.ConcurrentLinkedHashMap.Node.Statestateprivate static java.util.concurrent.atomic.AtomicReferenceFieldUpdater<Cache.ConcurrentLinkedHashMap.Node,Cache.ConcurrentLinkedHashMap.Node.State>stateUpdaterprivate Vvalueprivate static java.util.concurrent.atomic.AtomicReferenceFieldUpdater<Cache.ConcurrentLinkedHashMap.Node,java.lang.Object>valueUpdater
-
Method Summary
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
valueUpdater
private static final java.util.concurrent.atomic.AtomicReferenceFieldUpdater<Cache.ConcurrentLinkedHashMap.Node,java.lang.Object> valueUpdater
-
stateUpdater
private static final java.util.concurrent.atomic.AtomicReferenceFieldUpdater<Cache.ConcurrentLinkedHashMap.Node,Cache.ConcurrentLinkedHashMap.Node.State> stateUpdater
-
prevUpdater
private static final java.util.concurrent.atomic.AtomicReferenceFieldUpdater<Cache.ConcurrentLinkedHashMap.Node,Cache.ConcurrentLinkedHashMap.Node> prevUpdater
-
nextUpdater
private static final java.util.concurrent.atomic.AtomicReferenceFieldUpdater<Cache.ConcurrentLinkedHashMap.Node,Cache.ConcurrentLinkedHashMap.Node> nextUpdater
-
key
private final K key
-
value
private volatile V value
-
state
private volatile Cache.ConcurrentLinkedHashMap.Node.State state
-
marked
private volatile boolean marked
-
prev
private volatile Cache.ConcurrentLinkedHashMap.Node<K,V> prev
-
next
private volatile Cache.ConcurrentLinkedHashMap.Node<K,V> next
-
-
Method Detail
-
getKey
public K getKey()
-
getValue
public V getValue()
-
setValue
public void setValue(V value)
-
getPrev
public Cache.ConcurrentLinkedHashMap.Node<K,V> getPrev()
-
setPrev
public void setPrev(Cache.ConcurrentLinkedHashMap.Node<K,V> node)
-
casPrev
public boolean casPrev(Cache.ConcurrentLinkedHashMap.Node<K,V> expect, Cache.ConcurrentLinkedHashMap.Node<K,V> update)
-
getNext
public Cache.ConcurrentLinkedHashMap.Node<K,V> getNext()
-
setNext
public void setNext(Cache.ConcurrentLinkedHashMap.Node<K,V> node)
-
casNext
public boolean casNext(Cache.ConcurrentLinkedHashMap.Node<K,V> expect, Cache.ConcurrentLinkedHashMap.Node<K,V> update)
-
isMarked
public boolean isMarked()
-
setMarked
public void setMarked(boolean marked)
-
getState
public Cache.ConcurrentLinkedHashMap.Node.State getState()
-
setState
public void setState(Cache.ConcurrentLinkedHashMap.Node.State state)
-
casState
public boolean casState(Cache.ConcurrentLinkedHashMap.Node.State expect, Cache.ConcurrentLinkedHashMap.Node.State update)
-
equals
public boolean equals(java.lang.Object obj)
Only ensures that the values are equal, as the key may be null for look-ups.- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-