Module accumulate

Module accumulate 

Source
Expand description

Accumulate Functions for RETE-UL Engine

This module implements Drools/CLIPS-style accumulate functions for aggregating data across multiple facts in rule conditions.

§Examples

rule "TotalSales" {
    when
        $total: accumulate(
            Order($amount: amount, status == "completed"),
            sum($amount)
        )
        $total > 10000
    then
        Report.highValue = true;
}

Structs§

AccumulateFunctionRegistry
Registry of available accumulate functions
AccumulatePattern
Accumulate pattern in a rule condition
AverageFunction
Average accumulator - calculates mean of numeric values
CountFunction
Count accumulator - counts number of matching facts
MaxFunction
Maximum accumulator - finds maximum numeric value
MinFunction
Minimum accumulator - finds minimum numeric value
SumFunction
Sum accumulator - adds up numeric values

Traits§

AccumulateFunction
Accumulate function trait - defines how to aggregate values
AccumulateState
State maintained during accumulation