#include <coherence/util/aggregator/DistinctValues.hpp>
Inherits AbstractAggregator.
If the set of entries is empty, an empty set is returned.
This aggregator could be used in combination with coherence::util::extractor::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).
Public Types | |||||||
| typedef spec::Handle | Handle | ||||||
| DistinctValues Handle definition. | |||||||
| typedef spec::View | View | ||||||
| DistinctValues View definition. | |||||||
| typedef spec::Holder | Holder | ||||||
| DistinctValues Holder definition. | |||||||
Protected Member Functions | |||||||
| DistinctValues () | |||||||
| Default constructor (necessary for the PortableObject interface). | |||||||
| DistinctValues (ValueExtractor::View vExtractor) | |||||||
| Construct a DistinceValues aggregator. | |||||||
| virtual void | init (bool fFinal) | ||||||
| Initialize the aggregation result. This implementation throws an UnsupportedOperationException.
| |||||||
| virtual void | process (Object::View vO, bool fFinal) | ||||||
| Incorporate one aggregatable value into the result.
If the This implementation throws an UnsupportedOperationException.
| |||||||
| virtual Object::Holder | finalizeResult (bool fFinal) | ||||||
| Obtain the result of the aggregation.
If the This implementation throws an UnsupportedOperationException.
| |||||||
| virtual Set::Handle | ensureSet () | ||||||
| Return a set that can be used to store distinct values, creating it if one has not already been created. | |||||||
Protected Attributes | |||||||
| MemberHandle< Set > | m_hSet | ||||||
| The resulting set of distinct values. | |||||||
| DistinctValues | ( | ValueExtractor::View | vExtractor | ) | [protected] |
Construct a DistinceValues aggregator.
| vExtractor | the extractor that provides a value in the form of any object |
| virtual Set::Handle ensureSet | ( | ) | [protected, virtual] |
Return a set that can be used to store distinct values, creating it if one has not already been created.