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.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, 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. <p/> 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);

<p/> 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
`Object` | `aggregate(Set setEntries)` Process a set of InvocableMap.Entry objects in order to produce an aggregated result.
`Object` | `aggregateResults(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(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. The AbstractPriorityTask implementation reserves property indexes 0 - 9. <p/> The PriorityAggregator implementation reserves property index 10.
`String` | `toString()` Return a human-readable description for this PriorityAggregator.
`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. The AbstractPriorityTask implementation reserves property indexes 0 - 9. <p/> The PriorityAggregator implementation reserves property index 10.

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 Object aggregateResults(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 Object aggregate(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 String toString()

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

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

  The AbstractPriorityTask implementation reserves property indexes 0 - 9. <p/> 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:
    `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.

  The AbstractPriorityTask implementation reserves property indexes 0 - 9. <p/> 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:
    `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.