Skip navigation links

Overview | Package | Class | Tree | Index | Help
| Oracle® Coherence Java API Reference Release 3.6.0.0 E15725-01
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.tangosol.util.processor
Class UpdaterProcessor

`java.lang.Object
com.tangosol.util.Base
com.tangosol.util.processor.AbstractProcessor
com.tangosol.util.processor.UpdaterProcessor`

All Implemented Interfaces:
  ExternalizableLite, PortableObject, InvocableMap.EntryProcessor, 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 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(String sMethod, Object oValue)` Construct an UpdaterProcessor for a given method name.
`UpdaterProcessor(ValueUpdater updater, Object oValue)` Construct an UpdaterProcessor based on the specified ValueUpdater.

Method Summary
`boolean` | `equals(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.
`Object` | `process(InvocableMap.Entry 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.
`String` | `toString()` Return a human-readable description for this UpdaterProcessor.
`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.

Methods inherited from class com.tangosol.util.processor.AbstractProcessor
`processAll`

Field Detail

### m_updater

    protected ValueUpdater m_updater

  The underlying ValueUpdater.

### m_oValue

    protected 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,
                            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(String sMethod,
                            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 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(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 String toString()

  Return a human-readable description for this UpdaterProcessor.
  Returns:
    a String description of the UpdaterProcessor

### readExternal

    public void readExternal(DataInput in)
                      throws 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:
    `IOException` - if an I/O exception occurs
    `NotActiveException` - if the object is not in its initial state, and therefore cannot be deserialized into

### writeExternal

    public void writeExternal(DataOutput out)
                       throws 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:
    `IOException` - if an I/O exception occurs

### readExternal

    public void readExternal(PofReader in)
                      throws 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:
    `IOException` - if an I/O error occurs

### writeExternal

    public void writeExternal(PofWriter out)
                       throws 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:
    `IOException` - if an I/O error occurs

Skip navigation links

Overview | Package | Class | Tree | Index | Help
| Oracle® Coherence Java API Reference Release 3.6.0.0 E15725-01
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2000, 2010, Oracle and/or its affiliates. All rights reserved.