Package com.tangosol.util.processor
Class MethodInvocationProcessor<K,V,R>
java.lang.Object
com.tangosol.util.processor.MethodInvocationProcessor<K,V,R>
- All Implemented Interfaces:
ExternalizableLite
,PortableObject
,InvocableMap.EntryProcessor<K,
,V, R> Serializable
public class MethodInvocationProcessor<K,V,R>
extends Object
implements InvocableMap.EntryProcessor<K,V,R>, ExternalizableLite, PortableObject
An entry processor that invokes specified method on a value of a cache entry
and optionally updates the entry with a modified value.
- Since:
- 12.2.1
- Author:
- as 2014.11.19
- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionprotected Object[]
Method arguments.protected boolean
A flag specifying whether the method mutates the state of a target object.protected String
The name of the method to invoke.protected Remote.Supplier
<V> The supplier that should be used to create the entry value if this processor is invoked on an entry that is not present in the cache. -
Constructor Summary
ConstructorDescriptionDeserialization constructor.MethodInvocationProcessor
(Remote.Supplier<V> supplier, String sMethodName, boolean fMutator, Object... aoArgs) Construct MethodInvocationProcessor instance.MethodInvocationProcessor
(String sMethodName, boolean fMutator, Object... aoArgs) Construct MethodInvocationProcessor instance. -
Method Summary
Modifier and TypeMethodDescriptionObject[]
getArgs()
Return the method arguments.Returns the name of the method to invoke.Returns the supplier that should be used when an entry is not present.boolean
Returns a boolean specifying whether the method mutates the state of a target object.process
(InvocableMap.Entry<K, V> entry) Process a Map.Entry object.void
Restore the contents of a user type instance by reading its state using the specified PofReader object.void
Restore the contents of this object by loading the object's state from the passed DataInput object.void
writeExternal
(PofWriter out) Save the contents of a POF user type instance by writing its state using the specified PofWriter object.void
writeExternal
(DataOutput out) Save the contents of this object by storing the object's state into the passed DataOutput object.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.tangosol.util.InvocableMap.EntryProcessor
processAll
-
Field Details
-
m_sMethodName
The name of the method to invoke. -
m_fMutator
protected boolean m_fMutatorA flag specifying whether the method mutates the state of a target object. -
m_supplier
The supplier that should be used to create the entry value if this processor is invoked on an entry that is not present in the cache. -
m_aoArgs
Method arguments.
-
-
Constructor Details
-
MethodInvocationProcessor
public MethodInvocationProcessor()Deserialization constructor. -
MethodInvocationProcessor
Construct MethodInvocationProcessor instance.- Parameters:
sMethodName
- the name of the method to invokefMutator
- a flag specifying whether the method mutates the state of a target object, which implies that the entry value should be updated after method invocationaoArgs
- method arguments
-
MethodInvocationProcessor
public MethodInvocationProcessor(Remote.Supplier<V> supplier, String sMethodName, boolean fMutator, Object... aoArgs) Construct MethodInvocationProcessor instance.- Parameters:
supplier
- the supplier that should be used to create the entry value if this processor is invoked on an entry that is not present in the cachesMethodName
- the name of the method to invokefMutator
- the flag specifying whether the method mutates the state of a target object, which implies that the entry value should be updated after method invocationaoArgs
- the method arguments
-
-
Method Details
-
process
Description copied from interface:InvocableMap.EntryProcessor
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.- Specified by:
process
in interfaceInvocableMap.EntryProcessor<K,
V, R> - Parameters:
entry
- the Entry to process- Returns:
- the result of the processing, if any
-
readExternal
Description copied from interface:ExternalizableLite
Restore the contents of this object by loading the object's state from the passed DataInput object.- Specified by:
readExternal
in interfaceExternalizableLite
- Parameters:
in
- the DataInput stream to read data from in order to restore the state of this object- Throws:
IOException
- if an I/O exception occurs
-
writeExternal
Description copied from interface:ExternalizableLite
Save the contents of this object by storing the object's state into the passed DataOutput object.- Specified by:
writeExternal
in interfaceExternalizableLite
- Parameters:
out
- the DataOutput stream to write the state of this object to- Throws:
IOException
- if an I/O exception occurs
-
readExternal
Description copied from interface:PortableObject
Restore the contents of a user type instance by reading its state using the specified PofReader object.- Specified by:
readExternal
in interfacePortableObject
- Parameters:
in
- the PofReader from which to read the object's state- Throws:
IOException
- if an I/O error occurs
-
writeExternal
Description copied from interface:PortableObject
Save the contents of a POF user type instance by writing its state using the specified PofWriter object.- Specified by:
writeExternal
in interfacePortableObject
- Parameters:
out
- the PofWriter to which to write the object's state- Throws:
IOException
- if an I/O error occurs
-
getMethodName
Returns the name of the method to invoke.- Returns:
- the name of the method to invoke
-
isMutator
public boolean isMutator()Returns a boolean specifying whether the method mutates the state of a target object.- Returns:
- a boolean specifying whether the method mutates the state of a target object
-
getSupplier
Returns the supplier that should be used when an entry is not present.- Returns:
- the supplier that should be used when an entry is not present
-
getArgs
Return the method arguments.- Returns:
- the method arguments
-