Interface InvocableMap.EntryProcessor<K,​V,​R>

    • Method Detail

      • process

        R process​(InvocableMap.Entry<K,​V> entry)
        Process a Map.Entry object.

        Note: if this method throws an exception, all modifications to the supplied entry or any other entries retrieved via the BackingMapContext.getBackingMapEntry(java.lang.Object) API will be rolled back leaving all underlying values unchanged.

        Parameters:
        entry - the Entry to process
        Returns:
        the result of the processing, if any
      • processAll

        default Map<K,​R> processAll​(Set<? extends InvocableMap.Entry<K,​V>> setEntries)
        Process a Set of InvocableMap.Entry objects. This method is semantically equivalent to:
           Map mapResults = new ListMap();
           for (Iterator iter = setEntries.iterator(); iter.hasNext(); )
               {
               Entry entry = (Entry) iter.next();
               mapResults.put(entry.getKey(), process(entry));
               }
           return mapResults;
         

        Note: if processAll() call throws an exception, only the entries that were removed from the setEntries would be considered successfully processed and the corresponding changes made to the underlying Map; changes made to the remaining entries or any other entries obtained from BackingMapContext.getBackingMapEntry(java.lang.Object) will not be processed.

        Parameters:
        setEntries - a Set of InvocableMap.Entry objects to process
        Returns:
        a Map containing the results of the processing, up to one entry for each InvocableMap.Entry that was processed, keyed by the keys of the Map that were processed, with a corresponding value being the result of the processing for each key