Class PWAW<K,V>
- java.lang.Object
-
- com.github.benmanes.caffeine.cache.Node<K,V>
-
- com.github.benmanes.caffeine.cache.PW<K,V>
-
- com.github.benmanes.caffeine.cache.PWA<K,V>
-
- com.github.benmanes.caffeine.cache.PWAW<K,V>
-
- All Implemented Interfaces:
AccessOrderDeque.AccessOrder<Node<K,V>>,NodeFactory<K,V>,WriteOrderDeque.WriteOrder<Node<K,V>>
class PWAW<K,V> extends PWA<K,V>
WARNING: GENERATED CODE A cache entry that provides the following features:- ExpireWrite
- StrongKeys (inherited)
- WeakValues (inherited)
- ExpireAccess (inherited)
-
-
Field Summary
Fields Modifier and Type Field Description (package private) Node<K,V>nextInWriteOrder(package private) Node<K,V>previousInWriteOrderprotected static longWRITE_TIME_OFFSET(package private) longwriteTime-
Fields inherited from class com.github.benmanes.caffeine.cache.PWA
ACCESS_TIME_OFFSET, accessTime, nextInAccessOrder, previousInAccessOrder
-
Fields inherited from class com.github.benmanes.caffeine.cache.PW
value, VALUE_OFFSET
-
Fields inherited from interface com.github.benmanes.caffeine.cache.NodeFactory
DEAD_STRONG_KEY, DEAD_WEAK_KEY, RETIRED_STRONG_KEY, RETIRED_WEAK_KEY
-
-
Constructor Summary
Constructors Constructor Description PWAW()PWAW(java.lang.Object keyReference, V value, java.lang.ref.ReferenceQueue<V> valueReferenceQueue, int weight, long now)PWAW(K key, java.lang.ref.ReferenceQueue<K> keyReferenceQueue, V value, java.lang.ref.ReferenceQueue<V> valueReferenceQueue, int weight, long now)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleancasVariableTime(long expect, long update)Atomically sets the variable time to the given updated value if the current value equals the expected value and returns if the update was successful.Node<K,V>getNextInVariableOrder()Node<K,V>getNextInWriteOrder()Retrieves the next element or null if either the element is unlinked or the last element on the deque.Node<K,V>getPreviousInVariableOrder()Node<K,V>getPreviousInWriteOrder()Retrieves the previous element or null if either the element is unlinked or the first element on the deque.longgetVariableTime()Returns the variable expiration time, in nanoseconds.longgetWriteTime()Returns the time that this entry was last written, in ns.Node<K,V>newNode(java.lang.Object keyReference, V value, java.lang.ref.ReferenceQueue<V> valueReferenceQueue, int weight, long now)Returns a node optimized for the specified features.Node<K,V>newNode(K key, java.lang.ref.ReferenceQueue<K> keyReferenceQueue, V value, java.lang.ref.ReferenceQueue<V> valueReferenceQueue, int weight, long now)Returns a node optimized for the specified features.voidsetNextInVariableOrder(Node<K,V> nextInWriteOrder)voidsetNextInWriteOrder(Node<K,V> nextInWriteOrder)Sets the next element or null if there is no link.voidsetPreviousInVariableOrder(Node<K,V> previousInWriteOrder)voidsetPreviousInWriteOrder(Node<K,V> previousInWriteOrder)Sets the previous element or null if there is no link.voidsetVariableTime(long writeTime)Sets the variable expiration time in nanoseconds.voidsetWriteTime(long writeTime)Sets the write time in nanoseconds.-
Methods inherited from class com.github.benmanes.caffeine.cache.PWA
getAccessTime, getNextInAccessOrder, getPreviousInAccessOrder, setAccessTime, setNextInAccessOrder, setPreviousInAccessOrder
-
Methods inherited from class com.github.benmanes.caffeine.cache.PW
containsValue, die, getKey, getKeyReference, getValue, getValueReference, isAlive, isDead, isRetired, retire, setValue, weakValues
-
Methods inherited from class com.github.benmanes.caffeine.cache.Node
casWriteTime, getPolicyWeight, getQueueType, getWeight, inMainProbation, inMainProtected, inWindow, makeMainProbation, makeMainProtected, makeWindow, setPolicyWeight, setQueueType, setWeight, toString
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface com.github.benmanes.caffeine.cache.NodeFactory
newLookupKey, newReferenceKey, softValues
-
-
-
-
Method Detail
-
getPreviousInVariableOrder
public Node<K,V> getPreviousInVariableOrder()
- Overrides:
getPreviousInVariableOrderin classPWA<K,V>
-
setPreviousInVariableOrder
public void setPreviousInVariableOrder(Node<K,V> previousInWriteOrder)
- Overrides:
setPreviousInVariableOrderin classPWA<K,V>
-
getNextInVariableOrder
public Node<K,V> getNextInVariableOrder()
- Overrides:
getNextInVariableOrderin classPWA<K,V>
-
setNextInVariableOrder
public void setNextInVariableOrder(Node<K,V> nextInWriteOrder)
- Overrides:
setNextInVariableOrderin classPWA<K,V>
-
getVariableTime
public long getVariableTime()
Description copied from class:NodeReturns the variable expiration time, in nanoseconds.- Overrides:
getVariableTimein classPWA<K,V>
-
setVariableTime
public void setVariableTime(long writeTime)
Description copied from class:NodeSets the variable expiration time in nanoseconds. This update may be set lazily and rely on the memory fence when the lock is released.- Overrides:
setVariableTimein classPWA<K,V>
-
casVariableTime
public boolean casVariableTime(long expect, long update)Description copied from class:NodeAtomically sets the variable time to the given updated value if the current value equals the expected value and returns if the update was successful.- Overrides:
casVariableTimein classPWA<K,V>
-
getWriteTime
public final long getWriteTime()
Description copied from class:NodeReturns the time that this entry was last written, in ns.- Overrides:
getWriteTimein classNode<K,V>
-
setWriteTime
public final void setWriteTime(long writeTime)
Description copied from class:NodeSets the write time in nanoseconds. This update may be set lazily and rely on the memory fence when the lock is released.- Overrides:
setWriteTimein classNode<K,V>
-
getPreviousInWriteOrder
public final Node<K,V> getPreviousInWriteOrder()
Description copied from interface:WriteOrderDeque.WriteOrderRetrieves the previous element or null if either the element is unlinked or the first element on the deque.- Specified by:
getPreviousInWriteOrderin interfaceWriteOrderDeque.WriteOrder<K>- Overrides:
getPreviousInWriteOrderin classNode<K,V>
-
setPreviousInWriteOrder
public final void setPreviousInWriteOrder(Node<K,V> previousInWriteOrder)
Description copied from interface:WriteOrderDeque.WriteOrderSets the previous element or null if there is no link.- Specified by:
setPreviousInWriteOrderin interfaceWriteOrderDeque.WriteOrder<K>- Overrides:
setPreviousInWriteOrderin classNode<K,V>
-
getNextInWriteOrder
public final Node<K,V> getNextInWriteOrder()
Description copied from interface:WriteOrderDeque.WriteOrderRetrieves the next element or null if either the element is unlinked or the last element on the deque.- Specified by:
getNextInWriteOrderin interfaceWriteOrderDeque.WriteOrder<K>- Overrides:
getNextInWriteOrderin classNode<K,V>
-
setNextInWriteOrder
public final void setNextInWriteOrder(Node<K,V> nextInWriteOrder)
Description copied from interface:WriteOrderDeque.WriteOrderSets the next element or null if there is no link.- Specified by:
setNextInWriteOrderin interfaceWriteOrderDeque.WriteOrder<K>- Overrides:
setNextInWriteOrderin classNode<K,V>
-
newNode
public Node<K,V> newNode(K key, java.lang.ref.ReferenceQueue<K> keyReferenceQueue, V value, java.lang.ref.ReferenceQueue<V> valueReferenceQueue, int weight, long now)
Description copied from interface:NodeFactoryReturns a node optimized for the specified features.
-
-