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 PropertyProcessor

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

All Implemented Interfaces:
  ExternalizableLite, PortableObject, InvocableMap.EntryProcessor, Serializable

Direct Known Subclasses:
  NumberIncrementor, NumberMultiplier

      public abstract class PropertyProcessor

extends AbstractProcessor
implements ExternalizableLite, PortableObject

PropertyProcessor is a base class for EntryProcessor implementations that depend on a ValueManipulator. <p/> Any concrete subclass would have to implement the methods of `ExternalizableLite` interface calling the appropriate super class implementations first. <p/> A typical concrete subclass would also implement the `process()` method using the following pattern:

      public Object process(InvocableMap.Entry entry)
        {
        // retrieve an old property value
        Object oOldValue = get(entry);

        ... // calculate a new value and the process result
        ... // based on the old value and the processor's attributes

        if (!oNewValue.equals(oOldValue))
          {
          // set the new property value
          set(entry, oNewValue);
          }

        // return the process result
        return oResult;
        }

Author:
  gg 2005.10.31

Field Summary
`protected ValueManipulator` | `m_manipulator` The property value manipulator.

Constructor Summary
`PropertyProcessor()` Default constructor (necessary for the ExternalizableLite interface).
`PropertyProcessor(String sName)` Construct a PropertyProcessor for the specified property name.
`PropertyProcessor(String sName, boolean fUseIs)` Construct a PropertyProcessor for the specified property name.
`PropertyProcessor(ValueManipulator manipulator)` Construct a PropertyProcessor based for the specified ValueManipulator.

Method Summary
`boolean` | `equals(Object o)` Compare the PropertyProcessor with another object to determine equality.
`protected Object` | `get(InvocableMap.Entry entry)` Get the property value from the passed Entry object.
`protected abstract String` | `getDescription()` Returns this PropertyProcessor's description.
`int` | `hashCode()` Determine a hash value for the PropertyProcessor object according to the general `Object.hashCode()` contract.
`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.
`protected void` | `set(InvocableMap.Entry entry, Object oValue)` Set the property value into the passed Entry object.
`String` | `toString()` Return a human-readable description for this PropertyProcessor.
`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`

Methods inherited from interface com.tangosol.util.InvocableMap.EntryProcessor
`process`

Field Detail

### m_manipulator

    protected ValueManipulator m_manipulator

  The property value manipulator.

Constructor Detail

### PropertyProcessor

    public PropertyProcessor()

  Default constructor (necessary for the ExternalizableLite interface).

### PropertyProcessor

    public PropertyProcessor(String sName)

  Construct a PropertyProcessor for the specified property name.

  This constructor assumes that the corresponding property getter will have a name of ("get" + sName) and the corresponding property setter's name will be ("set + sName).

  Parameters:
    `sName` - a property name

### PropertyProcessor

    public PropertyProcessor(String sName,
                             boolean fUseIs)

  Construct a PropertyProcessor for the specified property name.

  This constructor assumes that the corresponding property getter will have a name of either ("get" + sName) or ("is + sName) and the corresponding property setter's name will be ("set + sName).

  Parameters:
    `sName` - a property name
    `fUseIs` - if true, the getter method will be prefixed with "is" rather than "get"

### PropertyProcessor

    public PropertyProcessor(ValueManipulator manipulator)

  Construct a PropertyProcessor based for the specified ValueManipulator.
  Parameters:
    `manipulator` - a ValueManipulator; could be null

Method Detail

### get

    protected Object get(InvocableMap.Entry entry)

  Get the property value from the passed Entry object.
  Parameters:
    `entry` - the Entry object
  Returns:
    the property value
  See Also:
    `ValueExtractor.extract(java.lang.Object)`

### set

    protected void set(InvocableMap.Entry entry,
                       Object oValue)

  Set the property value into the passed Entry object.
  Parameters:
    `entry` - the Entry object
    `oValue` - a new property value
  See Also:
    `ValueUpdater.update(java.lang.Object, java.lang.Object)`

### getDescription

    protected abstract String getDescription()

  Returns this PropertyProcessor's description.
  Returns:
    this PropertyProcessor's description

### equals

    public boolean equals(Object o)

  Compare the PropertyProcessor with another object to determine equality.
  Returns:
    true iff this PropertyProcessor and the passed object are equivalent PropertyProcessors

### hashCode

    public int hashCode()

  Determine a hash value for the PropertyProcessor object according to the general `Object.hashCode()` contract.
  Returns:
    an integer hash value for this PropertyProcessor object

### toString

    public String toString()

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

### 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.