BusinessRuleComplexExpression
Advanced expression combining multiple sub-expressions with aggregation functions.
Enables complex data processing by filtering collections based on multiple criteria and then applying aggregation operations. Supports mathematical operations (sum), counting operations (count), and data collection (collect) on filtered datasets.
type BusinessRuleComplexExpression implements IBusinessRuleExpression {
id: ID!
type: BusinessRuleExpressionTypes!
operator: BusinessRuleNumberExpressionOperators
action: BusinessRuleComplexExpressionAction!
field: String
path: String
number: Float!
expressions: [BusinessRuleSubExpressionGroup!]
}
Fields
BusinessRuleComplexExpression.id
● ID!
non-null scalar
Unique identifier for this expression within the business rule system
BusinessRuleComplexExpression.type
● BusinessRuleExpressionTypes!
non-null enum
Data type classification of the expression determining available operators and validation rules
BusinessRuleComplexExpression.operator
● BusinessRuleNumberExpressionOperators
enum
Optional numeric comparison operator for evaluating the aggregated result against a threshold value
BusinessRuleComplexExpression.action
● BusinessRuleComplexExpressionAction!
non-null enum
Aggregation function to apply to the filtered data collection.
- 'sum': Calculate the sum of numeric values from a specific field in filtered elements
- 'count': Count the number of elements that match the filtering criteria
- 'collect': Gather and return all matching elements as a collection
BusinessRuleComplexExpression.field
● String
scalar
JSONPath to the specific field for sum operations (e.g., '$.price' to sum price values from filtered elements)
BusinessRuleComplexExpression.path
● String
scalar
JSONPath expression defining the target data collection for filtering and aggregation.
Defaults to '$' (root field) when omitted. Must be specified when used as a sub-expression within larger expressions. Examples: '$.orders', '$.items[*]', '$.customer.purchases'
BusinessRuleComplexExpression.number
● Float!
non-null scalar
Numeric threshold value for comparison when using the operator (e.g., count > 5, sum >= 100)
BusinessRuleComplexExpression.expressions
● [BusinessRuleSubExpressionGroup!]
list object
Interfaces
IBusinessRuleExpression
interface
Base interface for all business rule expression types defining common properties and behavior.
Expressions are the fundamental building blocks for business rule conditions and calculations. Each expression type provides specific operators and validation logic for different data types including strings, numbers, dates, arrays, and complex aggregations.