private static class FastFindCache.ReverseLookup.Value
extends java.lang.Object
RecordIdentifier keys in the reverse cache. This
includes a weak reference to the canonical RecordIdentifier instance, and a linked list
of nodes containing invalidation information. Each node represents a single, L3 result in the
primary cache.| Modifier and Type | Field and Description |
|---|---|
private FastFindCache.ReverseLookup.Node |
head
Head of the list; always the newest node added
|
private java.lang.ref.WeakReference<RecordIdentifier<java.lang.String>> |
ref
A weak reference to the canonical record identifier instance
|
| Constructor and Description |
|---|
Value(RecordIdentifier<java.lang.String> recID)
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
(package private) void |
addNode(Cache<FastFindCache.L2Key,RecordIdentifier<java.lang.String>> l3Cache,
FastFindCache.L2Key l2Key)
Add a node to the linked list of invalidation nodes.
|
private void |
invalidate(java.util.BitSet dirtyProps)
Walk the linked list of nodes and invalidate any L3 cached result whose non-indexed properties
intersects with the given set of dirty properties.
|
private final java.lang.ref.WeakReference<RecordIdentifier<java.lang.String>> ref
private FastFindCache.ReverseLookup.Node head
Value(RecordIdentifier<java.lang.String> recID)
recID - Record identifier. This must be the canonical instance.void addNode(Cache<FastFindCache.L2Key,RecordIdentifier<java.lang.String>> l3Cache, FastFindCache.L2Key l2Key)
l3Cache - The L3 cache containing a cached result for the record associated with the record
identifier.l2Key - The key used to remove a single cached result from the l3Cache upon
invalidation.private void invalidate(java.util.BitSet dirtyProps)
dirtyProps - The set of properties touched by an update.