Skip navigation links

Overview | Package | Class | Tree | Index | Help
| Oracle® Coherence Java API Reference Release 3.6.1.0 E18814-01
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.tangosol.util.aggregator
Class DistinctValues

`java.lang.Object
com.tangosol.util.Base
com.tangosol.util.BitHelper
com.tangosol.util.ExternalizableHelper
com.tangosol.util.aggregator.AbstractAggregator
com.tangosol.util.aggregator.DistinctValues`

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

      public class DistinctValues

extends AbstractAggregator

Return the set of unique values extracted from a set of entries in a Map. If the set of entries is empty, an empty set is returned.

This aggregator could be used in combination with `MultiExtractor` allowing to collect all unique combinations (tuples) of a given set of attributes. The DistinctValues aggregator covers a simple case of a more generic aggregation pattern implemented by the `GroupAggregator`, which in addition to collecting all distinct values or tuples, runs an aggregation against each distinct entry set (group).

Author:
  jh 2005.12.20

Field Summary
`protected java.util.Set` | `m_set` The resulting set of distinct values.

Fields inherited from class com.tangosol.util.aggregator.AbstractAggregator
`m_fParallel`

Constructor Summary
`DistinctValues()` Default constructor (necessary for the ExternalizableLite interface).
`DistinctValues(java.lang.String sMethod)` Construct an DistinctValues aggregator.
`DistinctValues(ValueExtractor extractor)` Construct a DistinctValues aggregator.

Method Summary
`protected java.util.Set` | `ensureSet()` Return a set that can be used to store distinct values, creating it if one has not already been created.
`protected java.lang.Object` | `finalizeResult(boolean fFinal)` Obtain the result of the aggregation.
`protected void` | `init(boolean fFinal)` Initialize the aggregation result.
`protected void` | `process(java.lang.Object o, boolean fFinal)` Incorporate one aggregatable value into the result.

Methods inherited from class com.tangosol.util.aggregator.AbstractAggregator
`aggregate, aggregateResults, equals, getParallelAggregator, getValueExtractor, hashCode, processEntry, readExternal, readExternal, toString, writeExternal, writeExternal`

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_set

    protected transient java.util.Set m_set

  The resulting set of distinct values.

Constructor Detail

### DistinctValues

    public DistinctValues()

  Default constructor (necessary for the ExternalizableLite interface).

### DistinctValues

    public DistinctValues(ValueExtractor extractor)

  Construct a DistinctValues aggregator.
  Parameters:
    `extractor` - the extractor that provides a value in the form of any Java object

### DistinctValues

    public DistinctValues(java.lang.String sMethod)

  Construct an DistinctValues aggregator.
  Parameters:
    `sMethod` - the name of the method that returns a value in the form of any Java object

Method Detail

### init

    protected void init(boolean fFinal)

  Initialize the aggregation result.
  Specified by:
    `init` in class `AbstractAggregator`
  Parameters:
    `fFinal` - true is passed if the aggregation process that is being initialized must produce a final aggregation result; this will only be false if a parallel approach is being used and the initial (partial) aggregation process is being initialized

### process

    protected void process(java.lang.Object o,
                           boolean fFinal)

  Incorporate one aggregatable value into the result. If the `fFinal` parameter is true, the given object is a partial result (returned by an individual parallel aggregator) that should be incorporated into the final result; otherwise, the object is a value extracted from an `InvocableMap.Entry`.
  Specified by:
    `process` in class `AbstractAggregator`
  Parameters:
    `o` - the value to incorporate into the aggregated result
    `fFinal` - true to indicate that the given object is a partial result returned by a parallel aggregator

### finalizeResult

    protected java.lang.Object finalizeResult(boolean fFinal)

  Obtain the result of the aggregation. If the `fFinal` parameter is true, the returned object must be the final result of the aggregation; otherwise, the returned object will be treated as a partial result that should be incorporated into the final result.
  Specified by:
    `finalizeResult` in class `AbstractAggregator`
  Parameters:
    `fFinal` - true to indicate that the final result of the aggregation process should be returned; this will only be false if a parallel approach is being used
  Returns:
    the result of the aggregation process

### ensureSet

    protected java.util.Set ensureSet()

  Return a set that can be used to store distinct values, creating it if one has not already been created.
  Returns:
    a set that can be used to store distinct values

Skip navigation links

Overview | Package | Class | Tree | Index | Help
| Oracle® Coherence Java API Reference Release 3.6.1.0 E18814-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.