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 CompositeAggregator

    java.lang.Object
      com.tangosol.util.Base
          com.tangosol.util.BitHelper
              com.tangosol.util.ExternalizableHelper
                  com.tangosol.util.aggregator.CompositeAggregator

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

Direct Known Subclasses:
  CompositeAggregator.Parallel

    public class CompositeAggregator

extends ExternalizableHelper
implements InvocableMap.EntryAggregator, ExternalizableLite, PortableObject

CompositeAggregator provides an ability to execute a collection of aggregators against the same subset of the entries in an InvocableMap, resulting in a list of corresponding aggregation results. The size of the returned list will always be equal to the length of the aggregators' array.

Note: Unlike many other concrete EntryAggregator implementations that are constructed directly, instances of CompositeAggregator should only be created using the factory method `createInstance`.

Since:
  Coherence 3.2
Author:
  gg 2006.02.08

Nested Class Summary
`static class` | `CompositeAggregator.Parallel` Parallel implementation of the CompositeAggregator.

Field Summary
`protected InvocableMap.EntryAggregator[]` | `m_aAggregator` The underlying EntryAggregator array.

Constructor Summary
`` | `CompositeAggregator()` Default constructor (necessary for the ExternalizableLite interface).
`protected` | `CompositeAggregator(InvocableMap.EntryAggregator[] aAggregator)` Construct a CompositeAggregator based on a specified EntryAggregator array.

Method Summary
`java.lang.Object` | `aggregate(java.util.Set setEntries)` Process a set of InvocableMap Entry objects using each of the underlying agregators in order to produce an array of aggregated results.
`static CompositeAggregator` | `createInstance(InvocableMap.EntryAggregator[] aAggregator)` Create an instance of CompositeAggregator based on a specified `EntryAggregator` array.
`boolean` | `equals(java.lang.Object o)` Compare the CompositeAggregator with another object to determine equality.
`InvocableMap.EntryAggregator[]` | `getAggregators()` Obtain the EntryAggregator array.
`int` | `hashCode()` Determine a hash value for the MultiExtractor 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()` Return a human-readable description for this ValueExtractor.
`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`

Field Detail

### m_aAggregator

    protected InvocableMap.EntryAggregator[] m_aAggregator

  The underlying EntryAggregator array.

Constructor Detail

### CompositeAggregator

    public CompositeAggregator()

  Default constructor (necessary for the ExternalizableLite interface).

### CompositeAggregator

    protected CompositeAggregator(InvocableMap.EntryAggregator[] aAggregator)

  Construct a CompositeAggregator based on a specified EntryAggregator array.

  Parameters:
    `aAggregator` - an array of EntryAggregator objects; may not be null

Method Detail

### aggregate

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

  Process a set of InvocableMap Entry objects using each of the underlying agregators in order to produce an array of aggregated results.

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

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

### getAggregators

    public InvocableMap.EntryAggregator[] getAggregators()

  Obtain the EntryAggregator array.

  Returns:
    the EntryAggregator array

### equals

    public boolean equals(java.lang.Object o)

  Compare the CompositeAggregator with another object to determine equality.

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

### hashCode

    public int hashCode()

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

  Returns:
    an integer hash value for this ValueExtractor object

### toString

    public java.lang.String toString()

  Return a human-readable description for this ValueExtractor.

  Returns:
    a String description of the ValueExtractor

### createInstance

    public static CompositeAggregator createInstance(InvocableMap.EntryAggregator[] aAggregator)

  Create an instance of CompositeAggregator based on a specified `EntryAggregator` array. If all the aggregators in the specified array are instances of `ParallelAwareAggregator`, then a parallel-aware instance of the CompositeAggregator will be created.
  If at least one of the specified aggregator is not parallel-aware, then the resulting CompositeAggregator will not be parallel-aware and could be ill-suited for aggregations run against large partitioned caches.

  Parameters:
    `aAggregator` - an array of EntryAggregator objects; must contain not less than two aggregators

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.