Package com.tangosol.util
Interface SegmentedHashMap.EntryAction
-
- All Known Subinterfaces:
SegmentedHashMap.IterableEntryAction
- All Known Implementing Classes:
SegmentedConcurrentMap.ConditionalRemoveAction
,SegmentedConcurrentMap.LockAction
,SegmentedConcurrentMap.RemoveAction
,SegmentedConcurrentMap.SizeAction
,SegmentedConcurrentMap.UnlockAction
,SegmentedHashMap.ContainsValueAction
,SegmentedHashMap.EntryActionAdapter
,SegmentedHashMap.GetEntryAction
,SegmentedHashMap.InsertAction
,SegmentedHashMap.RemoveAction
- Enclosing class:
- SegmentedHashMap
protected static interface SegmentedHashMap.EntryAction
An EntryAction encapsulates a logical action to be executed in the context of a key (that may or may not exist in the map). If an Entry exists in the map for the key, invokeFound is called; otherwise invokeNotFound is called.EntryAction instances are state-aware and are invoked with an opaque context object supplied by the action client. The meanings of the supplied context and return-values are polymorphic in EntryAction type. Depending on the EntryAction type, it may or may not be invoked while holding the segment lock for the key.
An EntryAction should not acquire additional segment-locks.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Object
invokeFound(Object oKey, Object oContext, SegmentedHashMap.Entry[] aeBucket, int nBucket, SegmentedHashMap.Entry entryPrev, SegmentedHashMap.Entry entryCur)
Invoke some action, holding the segment lock, when a matching Entry is found.Object
invokeNotFound(Object oKey, Object oContext, SegmentedHashMap.Entry[] aeBucket, int nBucket)
Invoke some action, holding the segment lock, when no matching Entry is found.
-
-
-
Method Detail
-
invokeFound
Object invokeFound(Object oKey, Object oContext, SegmentedHashMap.Entry[] aeBucket, int nBucket, SegmentedHashMap.Entry entryPrev, SegmentedHashMap.Entry entryCur)
Invoke some action, holding the segment lock, when a matching Entry is found.- Parameters:
oKey
- the key to which the action is appliedoContext
- opaque context specific to the actionaeBucket
- the bucket arraynBucket
- the index into the bucket arrayentryPrev
- the Entry object immediately preceding the Entry that was found, or nullentryCur
- the Entry object that was found- Returns:
- an opaque result value
-
invokeNotFound
Object invokeNotFound(Object oKey, Object oContext, SegmentedHashMap.Entry[] aeBucket, int nBucket)
Invoke some action, holding the segment lock, when no matching Entry is found.- Parameters:
oKey
- the key to which the action is appliedoContext
- opaque context specific to the actionaeBucket
- the bucket arraynBucket
- the index into the bucket array- Returns:
- an opaque result value
-
-