Interface IAggregatorFactory

All Known Implementing Classes:
avg, count, max, min, sum

public interface IAggregatorFactory
Describes an aggregation operator keyword, potentially with type polymorphism. The actual runtime IMultisetAggregationOperator that implements the aggregation logic may depend on the type context.

Implementors are suggested to use lower-case classnames (as it will end up in the language) and are required use the annotation AggregatorType to indicate type inference rules.

Important! Implemented aggregators must be (1) deterministic (2) pure and (3)support incremental value updates in the internal operation.

Since:
1.4
  • Method Summary

    Modifier and Type
    Method
    Description
    getAggregatorLogic(Class<?> domainClass)
    Given type parameters selected from AggregatorType annotations, returns a run-time aggregator operator that is bound to the actual types.
  • Method Details

    • getAggregatorLogic

      BoundAggregator getAggregatorLogic(Class<?> domainClass)
      Given type parameters selected from AggregatorType annotations, returns a run-time aggregator operator that is bound to the actual types.
      Parameters:
      domainClass - Java type of the values that are being aggregated
      Returns:
      the actual run-time aggregator logic, with type bindings