org.eclipse.viatra.query.runtime.matchers.psystem.aggregations

## 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

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `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.

- - ### 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