Java 带冒号的 Drools 对象分配?

Java Drools Object Assignment With a Colon?

我正在学习 Java 和 Drools,以便我可以编辑现有的代码库,我遇到了一些我认为只是分配 variable/object 的语法,但我不确定并且我'在我错误地应用和依赖它之前,我很欣赏它的清晰度和洞察力。

RULE "Rule1"

    WHEN
        result : Result()   
        policy : Policy()   

    THEN
        logger.info("Running Rule1");
        retract(result);
END

这是我不确定的 "xxx : xxx()" 位.. 我尝试搜索,但最终得到的是静态声明等

它与"xxx = new xxx();"或"xxx : xxx();"相同吗?

我以前的编码经验是 PHP 和 C#,谢谢。

模式元素是最重要的条件元素。它可能匹配插入工作记忆中的每个事实。

模式包含零个或多个约束并具有可选的模式绑定。

[patternBinding :] 模式类型 ( [约束])

在没有约束的最简单形式中,模式匹配给定类型的事实。在以下情况下,类型为 Person,这意味着该模式将匹配工作内存中的所有 Person 对象:

Person()

要引用匹配的对象,请使用模式绑定变量,例如 $p。 (“$”不是强制性的,只是一种约定。)

$p: Person()

一个属性可以绑定到一个变量:

Person( $firstAge : age ) // binding

请注意 "binding" 不是 "assigning"; "binding variable" 不是 C# 中已知的 "variable" 或 PHP.