Namespace NRules.Aggregators
Contains types that implement aggregation of facts as part of rules engine execution.
Classes
- AggregateExpressionExtensions
Extension methods used for working with collections of aggregate expressions.
- AggregationContext
Context associated with the aggregation operation.
- AggregationResult
Result of the aggregation.
- AggregatorRegistry
Registry of custom aggregator factories.
Interfaces
- IAggregateExpression
Expression used by an aggregator, compiled to an executable form.
- IAggregator
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 receives 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.
- IAggregatorFactory
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.
Enums
- AggregationAction
Action that aggregation performed on the aggregate, based on added/modified/removed facts.