Show / Hide Table of Contents

Class DistinctValues

Return the ICollection of unique values extracted from a collection of entries in a cache.

Inheritance
object
AbstractAggregator
DistinctValues
Implements
IParallelAwareAggregator
IEntryAggregator
IPortableObject
Inherited Members
AbstractAggregator.Extractor
AbstractAggregator.ParallelAggregator
AbstractAggregator.AggregateResults(ICollection)
AbstractAggregator.Aggregate(ICollection)
AbstractAggregator.ReadExternal(IPofReader)
AbstractAggregator.WriteExternal(IPofWriter)
AbstractAggregator.ToString()
AbstractAggregator.GetHashCode()
AbstractAggregator.Equals(object)
AbstractAggregator.m_isParallel
object.Equals(object, object)
object.GetType()
object.MemberwiseClone()
object.ReferenceEquals(object, object)
Namespace: Tangosol.Util.Aggregator
Assembly: Coherence.dll
Syntax
public class DistinctValues : AbstractAggregator, IParallelAwareAggregator, IEntryAggregator, IPortableObject
Remarks

If the ICollection of entries is empty, an empty collection is returned.

This aggregator could be used in combination with MultiExtractor allowing to collect all unique combinations (tuples) of a given set of attributes.

Constructors

DistinctValues()

Default constructor.

Declaration
public DistinctValues()

DistinctValues(string)

Construct a DistinctValues aggregator.

Declaration
public DistinctValues(string member)
Parameters
Type Name Description
string member

The name of the member that returns a value in the form of any .NET object.

DistinctValues(IValueExtractor)

Construct a DistinctValues aggregator.

Declaration
public DistinctValues(IValueExtractor extractor)
Parameters
Type Name Description
IValueExtractor extractor

The extractor that provides a value in the form of any .NET object.

Fields

m_coll

The resulting collection of distinct values.

Declaration
[NonSerialized]
protected ICollection m_coll
Field Value
Type Description
ICollection

Methods

EnsureCollection()

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

Declaration
protected virtual ICollection EnsureCollection()
Returns
Type Description
ICollection

A collection that can be used to store distinct values.

FinalizeResult(bool)

Obtain the result of the aggregation.

Declaration
protected override object FinalizeResult(bool isFinal)
Parameters
Type Name Description
bool isFinal

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
Type Description
object

The result of the aggregation process.

Overrides
AbstractAggregator.FinalizeResult(bool)
Remarks

If the isFinal 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.

Init(bool)

Initialize the aggregation result.

Declaration
protected override void Init(bool isFinal)
Parameters
Type Name Description
bool isFinal

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.

Overrides
AbstractAggregator.Init(bool)

Process(object, bool)

Incorporate one aggregatable value into the result.

Declaration
protected override void Process(object o, bool isFinal)
Parameters
Type Name Description
object o

The value to incorporate into the aggregated result.

bool isFinal

true to indicate that the given object is a partial result returned by a parallel aggregator.

Overrides
AbstractAggregator.Process(object, bool)
Remarks

If the isFinal 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 IInvocableCacheEntry.

Implements

IParallelAwareAggregator
IEntryAggregator
IPortableObject
In this article
Back to top Copyright © 2000, 2024, Oracle and/or its affiliates.