Class SegmentedHashMap.GetEntryAction

  • All Implemented Interfaces:
    SegmentedHashMap.EntryAction
    Enclosing class:
    SegmentedHashMap

    protected class SegmentedHashMap.GetEntryAction
    extends Object
    implements SegmentedHashMap.EntryAction
    Action support for getEntryInternal. The action performs an Entry lookup by key and is not required to run while holding segment locks.

    The context object for a GetEntryAction is either Boolean.TRUE or Boolean.FALSE indicating whether or not to return synthetic entries.

    The result of invoking a GetEntryAction is the (possibly synthetic) Entry corresponding to a given key, null if no matching Entry is found, or NO_VALUE indicating that a concurrent resize occurred, and the operation must be repeated.

    • Constructor Detail

      • GetEntryAction

        protected GetEntryAction()
    • Method Detail

      • invokeFound

        public 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.
        Specified by:
        invokeFound in interface SegmentedHashMap.EntryAction
        Parameters:
        oKey - the key to which the action is applied
        oContext - opaque context specific to the action
        aeBucket - the bucket array
        nBucket - the index into the bucket array
        entryPrev - the Entry object immediately preceding the Entry that was found, or null
        entryCur - the Entry object that was found
        Returns:
        an opaque result value
      • invokeNotFound

        public Object invokeNotFound​(Object oKey,
                                     Object oContext,
                                     SegmentedHashMap.Entry[] aeBucket,
                                     int nBucket)
        Invoke some action, holding the segment lock, when no matching Entry is found.
        Specified by:
        invokeNotFound in interface SegmentedHashMap.EntryAction
        Parameters:
        oKey - the key to which the action is applied
        oContext - opaque context specific to the action
        aeBucket - the bucket array
        nBucket - the index into the bucket array
        Returns:
        an opaque result value