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 Detail

      • getAggregatorLogic

        BoundAggregator getAggregatorLogic​(java.lang.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