Class DistinctValues
Return the ICollection of unique values extracted from a collection of entries in a cache.
Inherited Members
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
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
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
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.