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.aggregator
Class PriorityAggregator

    java.lang.Object
      com.tangosol.util.Base
          com.tangosol.util.BitHelper
              com.tangosol.util.ExternalizableHelper
                  com.tangosol.net.AbstractPriorityTask
                      com.tangosol.util.aggregator.PriorityAggregator

All Implemented Interfaces:
  ExternalizableLite, PortableObject, PriorityTask, InvocableMap.EntryAggregator, InvocableMap.ParallelAwareAggregator, java.io.Serializable

    public class PriorityAggregator

extends AbstractPriorityTask
implements InvocableMap.ParallelAwareAggregator, ExternalizableLite, PortableObject

PriorityAggregator is used to explicitly control the scheduling priority and timeouts for execution of EntryAggregator-based methods.

For example, let's assume that there is an Orders cache that belongs to a partitioned cache service configured with a request-timeout and task-timeout of 5 seconds. Also assume that we are willing to wait longer for a particular aggregation request that scans the entire cache. Then we could override the default timeout values by using the PriorityAggregator as follows:

       DoubleAverage      aggrStandard = new DoubleAverage("getPrice");
       PriorityAggregator aggrPriority = new PriorityAggregator(aggrStandard);
       aggrPriority.setExecutionTimeoutMillis(PriorityTask.TIMEOUT_NONE);
       aggrPriority.setRequestTimeoutMillis(PriorityTask.TIMEOUT_NONE);
       cacheOrders.aggregate((Filter) null, aggrPriority);

This is an advanced feature which should be used judiciously.

Since:
  Coherence 3.3
Author:
  gg 2007.03.20

Field Summary

Fields inherited from interface com.tangosol.net.PriorityTask
`SCHEDULE_FIRST, SCHEDULE_IMMEDIATE, SCHEDULE_STANDARD, TIMEOUT_DEFAULT, TIMEOUT_NONE`

Constructor Summary
`PriorityAggregator()` Default constructor (necessary for the ExternalizableLite interface).
`PriorityAggregator(InvocableMap.ParallelAwareAggregator aggregator)` Construct a PriorityAggregator.

Method Summary
`java.lang.Object` | `aggregate(java.util.Set setEntries)` Process a set of InvocableMap.Entry objects in order to produce an aggregated result.
`java.lang.Object` | `aggregateResults(java.util.Collection collResults)` Aggregate the results of the parallel aggregations.
`InvocableMap.ParallelAwareAggregator` | `getAggregator()` Obtain the underlying aggregator.
`InvocableMap.EntryAggregator` | `getParallelAggregator()` Get an aggregator that can take the place of this aggregator in situations in which the InvocableMap can aggregate in parallel.
`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 PriorityAggregator.
`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.net.AbstractPriorityTask
`getExecutionTimeoutMillis, getRequestTimeoutMillis, getSchedulingPriority, runCanceled, setExecutionTimeoutMillis, setRequestTimeoutMillis, setSchedulingPriority`

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

### PriorityAggregator

    public PriorityAggregator()

  Default constructor (necessary for the ExternalizableLite interface).

### PriorityAggregator

    public PriorityAggregator(InvocableMap.ParallelAwareAggregator aggregator)

  Construct a PriorityAggregator.

  Parameters:
    `aggregator` - the aggregator wrapped by this PriorityAggregator

Method Detail

### getParallelAggregator

    public InvocableMap.EntryAggregator getParallelAggregator()

  Get an aggregator that can take the place of this aggregator in situations in which the InvocableMap can aggregate in parallel.

  Specified by:
    `getParallelAggregator` in interface `InvocableMap.ParallelAwareAggregator`
  Returns:
    the aggregator that will be run in parallel

### aggregateResults

    public java.lang.Object aggregateResults(java.util.Collection collResults)

  Aggregate the results of the parallel aggregations.

  Specified by:
    `aggregateResults` in interface `InvocableMap.ParallelAwareAggregator`
  Parameters:
    `collResults` - the parallel aggregation results
  Returns:
    the aggregation of the parallel aggregation results

### aggregate

    public java.lang.Object aggregate(java.util.Set setEntries)

  Process a set of InvocableMap.Entry objects in order to produce an aggregated result.

  Specified by:
    `aggregate` in interface `InvocableMap.EntryAggregator`
  Parameters:
    `setEntries` - a Set of read-only InvocableMap.Entry objects to aggregate
  Returns:
    the aggregated result from processing the entries

### getAggregator

    public InvocableMap.ParallelAwareAggregator getAggregator()

  Obtain the underlying aggregator.

  Returns:
    the aggregator wrapped by this PriorityAggregator

### toString

    public java.lang.String toString()

  Return a human-readable description for this PriorityAggregator.

  Returns:
    a String description of the PriorityAggregator

### 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`
  Overrides:
    `readExternal` in class `AbstractPriorityTask`
  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`
  Overrides:
    `writeExternal` in class `AbstractPriorityTask`
  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.

  The AbstractPriorityTask implementation reserves property indexes 0 - 9.

  The PriorityAggregator implementation reserves property index 10.

  Specified by:
    `readExternal` in interface `PortableObject`
  Overrides:
    `readExternal` in class `AbstractPriorityTask`
  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.

  The AbstractPriorityTask implementation reserves property indexes 0 - 9.

  The PriorityAggregator implementation reserves property index 10.

  Specified by:
    `writeExternal` in interface `PortableObject`
  Overrides:
    `writeExternal` in class `AbstractPriorityTask`
  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.