public class MethodInvocationProcessor<K,V,R> extends Object implements InvocableMap.EntryProcessor<K,V,R>, ExternalizableLite, PortableObject
Modifier and Type | Field and Description |
---|---|
protected Object[] |
m_aoArgs
Method arguments.
|
protected boolean |
m_fMutator
A flag specifying whether the method mutates the state of a target object.
|
protected String |
m_sMethodName
The name of the method to invoke.
|
protected Remote.Supplier<V> |
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.
|
Constructor and Description |
---|
MethodInvocationProcessor()
Deserialization 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.
|
Modifier and Type | Method and Description |
---|---|
R |
process(InvocableMap.Entry<K,V> entry)
Process a Map.Entry object.
|
void |
readExternal(DataInput in)
Restore the contents of this object by loading the object's state from the passed DataInput object.
|
void |
readExternal(PofReader in)
Restore the contents of a user type instance by reading its state using the specified PofReader object.
|
void |
writeExternal(DataOutput out)
Save the contents of this object by storing the object's state into the passed DataOutput object.
|
void |
writeExternal(PofWriter out)
Save the contents of a POF user type instance by writing its state using the specified PofWriter object.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
processAll
protected String m_sMethodName
protected boolean m_fMutator
protected Remote.Supplier<V> m_supplier
protected Object[] m_aoArgs
public MethodInvocationProcessor()
public MethodInvocationProcessor(String sMethodName, boolean fMutator, Object... aoArgs)
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 argumentspublic MethodInvocationProcessor(Remote.Supplier<V> supplier, String sMethodName, boolean fMutator, Object... aoArgs)
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 argumentspublic R process(InvocableMap.Entry<K,V> entry)
InvocableMap.EntryProcessor
process
in interface InvocableMap.EntryProcessor<K,V,R>
entry
- the Entry to process
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.
public void readExternal(DataInput in) throws IOException
ExternalizableLite
readExternal
in interface ExternalizableLite
in
- the DataInput stream to read data from in order to restore the state of this objectIOException
- if an I/O exception occursNotActiveException
- if the object is not in its initial state, and therefore cannot be deserialized intopublic void writeExternal(DataOutput out) throws IOException
ExternalizableLite
writeExternal
in interface ExternalizableLite
out
- the DataOutput stream to write the state of this object toIOException
- if an I/O exception occurspublic void readExternal(PofReader in) throws IOException
PortableObject
readExternal
in interface PortableObject
in
- the PofReader from which to read the object's stateIOException
- if an I/O error occurspublic void writeExternal(PofWriter out) throws IOException
PortableObject
writeExternal
in interface PortableObject
out
- the PofWriter to which to write the object's stateIOException
- if an I/O error occurs