Overview | Package | Class | Tree | Index | Help

Oracle® Coherence Java API Reference
v3.5.3
E15583-01
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.tangosol.util.transformer
Class ExtractorEventTransformer

    java.lang.Object
      com.tangosol.util.Base
          com.tangosol.util.BitHelper
              com.tangosol.util.ExternalizableHelper
                  com.tangosol.util.transformer.ExtractorEventTransformer

All Implemented Interfaces:
  ExternalizableLite, PortableObject, MapEventTransformer, java.io.Serializable

    public class ExtractorEventTransformer

extends ExternalizableHelper
implements MapEventTransformer, ExternalizableLite, PortableObject

ExtractorEventTransformer is a special purpose `MapEventTransformer` implementation that transforms emitted events, extracting one or more properties from either the OldValue or the NewValue. This transformation will generally result in the change of the values' data type.

Example: the following code will register a listener to receive events only if the value of the AccountBalance property changes. The transformed event's NewValue will be a List containing the LastTransactionTime and AccountBalance properties. The OldValue will always be null.

        Filter filter = new ValueChangeEventFilter("getAccountBalance");
        ValueExtractor extractor = new MultiExtractor("getLastTransactionTime,getAccountBalance");
        MapEventTransformer transformer = new ExtractorEventTransformer(null, extractor);

        cache.addMapListener(listener, new MapEventTransformerFilter(filter, transformer), false);

Since:
  Coherence 3.4
Author:
  gg 2008.06.01

Constructor Summary
`ExtractorEventTransformer()` No-argument constructor for lite deserialization.
`ExtractorEventTransformer(java.lang.String sMethod)` Construct a ExtractorEventTransformer that transforms MapEvent's values based on the specified method name.
`ExtractorEventTransformer(ValueExtractor extractor)` Construct a ExtractorEventTransformer that transforms MapEvent values based on the specified extractor.
`ExtractorEventTransformer(ValueExtractor extractorOld, ValueExtractor extractorNew)` Construct a ExtractorEventTransformer that transforms MapEvent values based on the specified extractors.

Method Summary
`boolean` | `equals(java.lang.Object o)` Compare the ExtractorEventTransformer with another object to determine equality.
`ValueExtractor` | `getNewValueExtractor()` Return a ValueExtractor used to transfrom the event's NewValue.
`ValueExtractor` | `getOldValueExtractor()` Return a ValueExtractor used to transfrom the event's OldValue.
`int` | `hashCode()` Determine a hash value for the ExtractorEventTransformer object according to the general `Object.hashCode()` contract.
`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()` Provide a human-readable representation of this object.
`MapEvent` | `transform(MapEvent event)` Transform the specified MapEvent using the corresponding extractors.
`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.BitHelper
`countBits, countBits, countBits, indexOfLSB, indexOfLSB, indexOfLSB, indexOfMSB, indexOfMSB, indexOfMSB, rotateLeft, rotateLeft, rotateLeft, rotateRight, rotateRight, rotateRight, toBitString, toBitString, toBitString`

Constructor Detail

### ExtractorEventTransformer

    public ExtractorEventTransformer()

  No-argument constructor for lite deserialization.

### ExtractorEventTransformer

    public ExtractorEventTransformer(ValueExtractor extractor)

  Construct a ExtractorEventTransformer that transforms MapEvent values based on the specified extractor.

  Note: The specified extractor will be applied to both old and new values.

  Parameters:
    `extractor` - ValueExtractor to extract MapEvent values

### ExtractorEventTransformer

    public ExtractorEventTransformer(java.lang.String sMethod)

  Construct a ExtractorEventTransformer that transforms MapEvent's values based on the specified method name. The name could be a comma-delimited sequence of method names which will result in a MultiExtractor that is based on a corresponding array of `ValueExtractor` objects; individual array elements will be either `ReflectionExtractor` or `ChainedExtractor` objects.

  Note: The specified extractor will be applied to both old and new values.

  Parameters:
    `sMethod` - the name of the method to invoke via reflection

### ExtractorEventTransformer

    public ExtractorEventTransformer(ValueExtractor extractorOld,
                                     ValueExtractor extractorNew)

  Construct a ExtractorEventTransformer that transforms MapEvent values based on the specified extractors. Passing null indicates that the corresponding values should be skipped completely.

  Parameters:
    `extractorOld` - extractor to extract the OldValue property(s)
    `extractorNew` - extractor to extract the NewValue property(s)

Method Detail

### getOldValueExtractor

    public ValueExtractor getOldValueExtractor()

  Return a ValueExtractor used to transfrom the event's OldValue.

  Returns:
    an extractor from the OldValue

### getNewValueExtractor

    public ValueExtractor getNewValueExtractor()

  Return a ValueExtractor used to transfrom the event's NewValue.

  Returns:
    an extractor from the NewValue

### transform

    public MapEvent transform(MapEvent event)

  Transform the specified MapEvent using the corresponding extractors.

  Specified by:
    `transform` in interface `MapEventTransformer`
  Parameters:
    `event` - MapEvent object to transform
  Returns:
    a modified MapEvent object that contains extracted values

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

### equals

    public boolean equals(java.lang.Object o)

  Compare the ExtractorEventTransformer with another object to determine equality.

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

### hashCode

    public int hashCode()

  Determine a hash value for the ExtractorEventTransformer object according to the general `Object.hashCode()` contract.

  Returns:
    an integer hash value for this object

### toString

    public java.lang.String toString()

  Provide a human-readable representation of this object.

  Returns:
    a String whose contents represent the value of this object

Overview | Package | Class | Tree | Index | Help

Oracle® Coherence Java API Reference
v3.5.3
E15583-01
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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