Class SegmentedHashMap.InsertAction

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

    protected class SegmentedHashMap.InsertAction
    extends Object
    implements SegmentedHashMap.EntryAction
    Action support for insert. The action performs locked insert, and is expected to run while holding the segment-lock for the specified key.

    The context object for an InsertAction is the value object to insert in the map, or NO_VALUE to insert a synthetic Entry.

    The result of invoking an InsertAction is the (possibly synthetic) Entry object that was inserted for the specified key, or NO_VALUE indicating that a mapping for the key already exists in the map.

    • Constructor Detail

      • InsertAction

        protected InsertAction()
    • 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