#include <coherence/util/aggregator/AbstractAggregator.hpp>
Inherited by AbstractComparableAggregator.
Public Types | |
typedef spec::Handle | Handle |
AbstractAggregator Handle definition. | |
typedef spec::View | View |
AbstractAggregator View definition. | |
typedef spec::Holder | Holder |
AbstractAggregator Holder definition. | |
Public Member Functions | |
virtual Object::Holder | aggregate (Set::View vSetEntries) |
virtual InvocableMap::EntryAggregator::Handle | getParallelAggregator () |
virtual Object::Holder | aggregateResults (Collection::View vCollResults) |
virtual void | readExternal (PofReader::Handle hIn) |
virtual void | writeExternal (PofWriter::Handle hOut) const |
virtual bool | equals (Object::View v) const |
virtual size32_t | hashCode () const |
virtual TypedHandle < const String > | toString () const |
virtual ValueExtractor::View | getValueExtractor () const |
Determine the ValueExtractor whose values this aggregator is aggregating. | |
Protected Member Functions | |
AbstractAggregator (String::View vsMethod) | |
Construct an AbstractAggregator that will aggregate values extracted from a set of InvocableMap::Entry objects. | |
virtual void | init (bool fFinal)=0 |
Initialize the aggregation result. | |
virtual void | process (Object::View vO, bool fFinal)=0 |
Incorporate one aggregatable value into the result. | |
virtual Object::Holder | finalizeResult (bool fFinal)=0 |
Obtain the result of the aggregation. | |
Protected Attributes | |
bool | m_fParallel |
Set to true if this aggregator realizes that it is going to be used in parallel. | |
FinalView < ValueExtractor > | f_vExtractor |
The ValueExtractor that obtains the value to aggregate from the value that is stored in the Map. |
AbstractAggregator | ( | String::View | vsMethod | ) | [protected] |
Construct an AbstractAggregator that will aggregate values extracted from a set of InvocableMap::Entry objects.
vsMethod | the name of the method that could be invoked via reflection and that returns values to aggregate; this parameter can also be a dot-delimited sequence of method names which would result in an aggregator based on the ChainedExtractor that is based on an array of corresponding ReflectionExtractor objects |
virtual void init | ( | bool | fFinal | ) | [protected, pure virtual] |
Initialize the aggregation result.
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 |
Implemented in AbstractComparableAggregator.
virtual void process | ( | Object::View | vO, | |
bool | fFinal | |||
) | [protected, pure virtual] |
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 coherence::util::InvocableMap::Entry.
vO | 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 |
virtual Object::Holder finalizeResult | ( | bool | fFinal | ) | [protected, pure virtual] |
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.
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 |
Implemented in AbstractComparableAggregator.
virtual ValueExtractor::View getValueExtractor | ( | ) | const [virtual] |
Determine the ValueExtractor whose values this aggregator is aggregating.