rule call

Syntax

@ruleName(ruleArguments);
or
@ruleSetName(ruleSetArguments).ruleName(ruleArguments);

where:

Description

This statement causes the referenced rule to be evaluated. This rule may be defined in the same ruleset as the caller rule, in which case the ruleset does not need to be specified, or may be defined in an external ruleset.

The ruleset may be referenced using a qualified name (dotted notation including the package name) or using a simple name. When a simple name is used, the referenced ruleset is first searched in the caller ruleset package. If the ruleset is not found, then it is resolved using the import directives of the caller ruleset.

The arguments must match the referenced ruleset and rules parameters, in the order they are defined.

This statement may be used at any level of a rule contents, as well as inside an MQL script.

Examples

This will calls a rule defined in the same ruleset:

public rule myRule() {
    @anotherRule("Hello", true);
}

This will calls an external rule:

public rule myRule() {
    @com.mycompany.example.Transform(myModel).main(3);
}