Package com.tangosol.util
Interface InvocableMap.EntryProcessor<K,V,R>
- Type Parameters:
K- the type of the Map entry keyV- the type of the Map entry valueR- the type of value returned by the EntryProcessor
- All Superinterfaces:
Serializable
- All Known Implementing Classes:
AbstractAsynchronousProcessor,AbstractEvolvableProcessor,AbstractProcessor,AsynchronousProcessor,CompositeProcessor,ConditionalProcessor,ConditionalPut,ConditionalPutAll,ConditionalRemove,ContinuousQueryCache.ConverterAsynchronousProcessor,ExtractorProcessor,MethodInvocationProcessor,NullImplementation.NullEntryProcessor,NumberIncrementor,NumberMultiplier,PreloadRequest,PriorityProcessor,PropertyProcessor,ScriptProcessor,SingleEntryAsynchronousProcessor,StreamingAsynchronousProcessor,TouchProcessor,UpdaterProcessor,VersionedPut,VersionedPutAll
- Enclosing interface:
- InvocableMap<K,
V>
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
@FunctionalInterface
public static interface InvocableMap.EntryProcessor<K,V,R>
extends Serializable
An invocable agent that operates against the Entry objects within a Map.
-
Method Summary
Modifier and TypeMethodDescriptionprocess(InvocableMap.Entry<K, V> entry) Process a Map.Entry object.processAll(Set<? extends InvocableMap.Entry<K, V>> setEntries) Process a Set of InvocableMap.Entry objects.
-
Method Details
-
process
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
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
-