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.processor
Class ConditionalProcessor

    java.lang.Object
      com.tangosol.util.Base
          com.tangosol.util.processor.AbstractProcessor
              com.tangosol.util.processor.ConditionalProcessor

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

    public class ConditionalProcessor

extends AbstractProcessor
implements ExternalizableLite, PortableObject

Conditional entry processor represents a processor that is invoked conditionally based on the result of an entry evaluation.

If the underlying filter expects to evaluate existent entries only (i.e. entries for which `isPresent()` is true), it should be combined with a `PresentFilter` as follows:

     Filter filterPresent = new AndFilter(PresentFilter.INSTANCE, filter);

Author:
  gg/jh 2005.10.31
See Also:
  `PresentFilter`

Field Summary
`protected Filter` | `m_filter` The underlying filter.
`protected InvocableMap.EntryProcessor` | `m_processor` The underlying entry processor.

Constructor Summary
`ConditionalProcessor()` Default constructor (necessary for the ExternalizableLite interface).
`ConditionalProcessor(Filter filter, InvocableMap.EntryProcessor processor)` Construct a ConditionalProcessor for the specified filter and the processor.

Method Summary
`boolean` | `equals(java.lang.Object o)` Compare the ConditionalProcessor with another object to determine equality.
`int` | `hashCode()` Determine a hash value for the ConditionalProcessor object according to the general `Object.hashCode()` contract.
`java.lang.Object` | `process(InvocableMap.Entry entry)` Process a Map.Entry object.
`java.util.Map` | `processAll(java.util.Set setEntries)` Process a Set of InvocableMap.Entry objects. This method is semantically equivalent to:
       Map mapResults = new ListMap();
       for (Iterator iter = setEntries.iterator(); iter.hasNext(); )
           {
           Entry entry = (Entry) iter.next();
           mapResults.put(entry.getKey(), process(entry));
           }
       return mapResults;
`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 ConditionalProcessor.
`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.

Field Detail

### m_filter

    protected Filter m_filter

  The underlying filter.

### m_processor

    protected InvocableMap.EntryProcessor m_processor

  The underlying entry processor.

Constructor Detail

### ConditionalProcessor

    public ConditionalProcessor()

  Default constructor (necessary for the ExternalizableLite interface).

### ConditionalProcessor

    public ConditionalProcessor(Filter filter,
                                InvocableMap.EntryProcessor processor)

  Construct a ConditionalProcessor for the specified filter and the processor.

  The specified entry processor gets invoked if and only if the filter applied to the InvocableMap entry evaluates to true; otherwize the result of the `process(com.tangosol.util.InvocableMap.Entry)` invocation will return `null`.

  Parameters:
    `filter` - the filter
    `processor` - the entry processor

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

### processAll

    public java.util.Map processAll(java.util.Set setEntries)

  Process a Set of InvocableMap.Entry objects. This method is semantically equivalent to:

         Map mapResults = new ListMap();
         for (Iterator iter = setEntries.iterator(); iter.hasNext(); )
             {
             Entry entry = (Entry) iter.next();
             mapResults.put(entry.getKey(), process(entry));
             }
         return mapResults;

  Specified by:
    `processAll` in interface `InvocableMap.EntryProcessor`
  Overrides:
    `processAll` in class `AbstractProcessor`
  Parameters:
    `setEntries` - a read-only Set of InvocableMap.Entry objects to process
  Returns:
    a Map containing the results of the processing, up to one entry for each InvocableMap.Entry that was processed, keyed by the keys of the Map that were processed, with a corresponding value being the result of the processing for each key

### equals

    public boolean equals(java.lang.Object o)

  Compare the ConditionalProcessor with another object to determine equality.

  Returns:
    true iff this ConditionalProcessor and the passed object are equivalent ConditionalProcessors

### hashCode

    public int hashCode()

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

  Returns:
    an integer hash value for this ConditionalProcessor object

### toString

    public java.lang.String toString()

  Return a human-readable description for this ConditionalProcessor.

  Returns:
    a String description of the ConditionalProcessor

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

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.