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.