Extension methods used for working with collections of aggregate expressions.
Context associated with the aggregation operation.
Result of the aggregation.
Registry of custom aggregator factories.
Expression used by an aggregator, compiled to an executable form.
Base interface for fact aggregators. An aggregator is a stateful element of the rules engine, that receives matching facts of a particular kind, and can combine them into a synthetic fact, that is then used by the downstream logic in the rule. Aggregator also recieves updates and removals for the matching facts, so that it can keep the corresponding aggregate facts in sync. An aggregator must be supplemented by a corresponding implementation of IAggregatorFactory that knows how to create new instances of the aggregator.
Base interface for aggregator factories. Aggregator factory constructs new instances of IAggregator of a given type, so that they can accumulate aggregation results. An IAggregatorFactory type must either be registered in AggregatorRegistry, or provided in the canonical rule model via CustomFactoryType. If both are provided, the aggregator factory at the AggregateElement level takes precedence.
Action that aggregation performed on the aggregate, based on added/modified/removed facts.