Oracle® Coherence Java API Reference
v3.5.3

E15583-01

com.tangosol.util.processor
Class UpdaterProcessor

java.lang.Object
  extended by com.tangosol.util.Base
      extended by com.tangosol.util.processor.AbstractProcessor
          extended by com.tangosol.util.processor.UpdaterProcessor
All Implemented Interfaces:
ExternalizableLite, PortableObject, InvocableMap.EntryProcessor, java.io.Serializable

public class UpdaterProcessor
extends AbstractProcessor
implements ExternalizableLite, PortableObject

UpdaterProcessor is an EntryProcessor implementations that updates an attribute of an object cached in an InvocableMap. A common usage pattern is:

   cache.invoke(oKey, new UpdaterProcessor(updater, oValue));
 
which is functionally equivalent to the following operation:
   Object oTarget = cache.get(oKey);
   updater.update(oTarget, oValue);
   cache.put(oKey, oTarget);
 
The major difference is that for clustered caches using the UpdaterProcessor allows avoiding explicit concurrency control and could significantly reduce the amount of network traffic.

Author:
gg 2006.07.25

Field Summary
protected  java.lang.Object m_oValue
          A value to update the entry's value with.
protected  ValueUpdater m_updater
          The underlying ValueUpdater.
 
Constructor Summary
UpdaterProcessor()
          Default constructor (necessary for the ExternalizableLite interface).
UpdaterProcessor(java.lang.String sMethod, java.lang.Object oValue)
          Construct an UpdaterProcessor for a given method name.
UpdaterProcessor(ValueUpdater updater, java.lang.Object oValue)
          Construct an UpdaterProcessor based on the specified ValueUpdater.
 
Method Summary
 boolean equals(java.lang.Object o)
          Compare the UpdaterProcessor with another object to determine equality.
 int hashCode()
          Determine a hash value for the UpdaterProcessor object according to the general Object.hashCode() contract.
 java.lang.Object process(InvocableMap.Entry entry)
          Process a Map.Entry object.
 void readExternal(java.io.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.
 java.lang.String toString()
          Return a human-readable description for this UpdaterProcessor.
 void writeExternal(java.io.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.
 
Methods inherited from class com.tangosol.util.processor.AbstractProcessor
processAll
 

Field Detail

m_updater

protected ValueUpdater m_updater
The underlying ValueUpdater.


m_oValue

protected java.lang.Object m_oValue
A value to update the entry's value with.

Constructor Detail

UpdaterProcessor

public UpdaterProcessor()
Default constructor (necessary for the ExternalizableLite interface).


UpdaterProcessor

public UpdaterProcessor(ValueUpdater updater,
                        java.lang.Object oValue)
Construct an UpdaterProcessor based on the specified ValueUpdater.

Parameters:
updater - a ValueUpdater object; passing null will simpy replace the entry's value with the specified one instead of updating it
oValue - the value to update the target entry with

UpdaterProcessor

public UpdaterProcessor(java.lang.String sMethod,
                        java.lang.Object oValue)
Construct an UpdaterProcessor for a given method name. The method must have a single parameter of a Java type compatible with the specified value type.

Parameters:
sMethod - a method name to make a ReflectionUpdater for; this parameter can also be a dot-delimited sequence of method names which would result in using a CompositeUpdater
oValue - the value to update the target entry with
Method Detail

process

public java.lang.Object process(InvocableMap.Entry entry)
Process a Map.Entry object.

Specified by:
process in interface InvocableMap.EntryProcessor
Parameters:
entry - the Entry to process
Returns:
the result of the processing, if any

equals

public boolean equals(java.lang.Object o)
Compare the UpdaterProcessor with another object to determine equality.

Returns:
true iff this UpdaterProcessor and the passed object are equivalent UpdaterProcessor

hashCode

public int hashCode()
Determine a hash value for the UpdaterProcessor object according to the general Object.hashCode() contract.

Returns:
an integer hash value for this UpdaterProcessor object

toString

public java.lang.String toString()
Return a human-readable description for this UpdaterProcessor.

Returns:
a String description of the UpdaterProcessor

readExternal

public void readExternal(java.io.DataInput in)
                  throws java.io.IOException
Restore the contents of this object by loading the object's state from the passed DataInput object.

Specified by:
readExternal in interface ExternalizableLite
Parameters:
in - the DataInput stream to read data from in order to restore the state of this object
Throws:
java.io.IOException - if an I/O exception occurs
java.io.NotActiveException - if the object is not in its initial state, and therefore cannot be deserialized into

writeExternal

public void writeExternal(java.io.DataOutput out)
                   throws java.io.IOException
Save the contents of this object by storing the object's state into the passed DataOutput object.

Specified by:
writeExternal in interface ExternalizableLite
Parameters:
out - the DataOutput stream to write the state of this object to
Throws:
java.io.IOException - if an I/O exception occurs

readExternal

public void readExternal(PofReader in)
                  throws java.io.IOException
Restore the contents of a user type instance by reading its state using the specified PofReader object.

Specified by:
readExternal in interface PortableObject
Parameters:
in - the PofReader from which to read the object's state
Throws:
java.io.IOException - if an I/O error occurs

writeExternal

public void writeExternal(PofWriter out)
                   throws java.io.IOException
Save the contents of a POF user type instance by writing its state using the specified PofWriter object.

Specified by:
writeExternal in interface PortableObject
Parameters:
out - the PofWriter to which to write the object's state
Throws:
java.io.IOException - if an I/O error occurs

Oracle® Coherence Java API Reference
v3.5.3

E15583-01

Copyright © 2000, 2010, Oracle. All rights reserved.