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
-