如何从结果/右侧内部获取条件/左侧定义的所有drools变量的列表?

时间:2015-12-08 10:36:54

标签: java drools

我们需要知道在规则的条件部分中定义了哪些变量,并使用它们执行某些操作。有没有办法检索它们?

示例(注意,我刚刚创建了这个虚拟代码,所以没有正确性的保证):

rule DummyRule
when
  $player: Player()
  $team: Team(teamId == $player.teamId)
then
  $player.setDummy(true);
  [for all vars in when-part, e.g. $player, $team]
     someGlobal.processVar($var)
  [endFor]
end

我需要的是[]中的部分 - 如何确定在when-part中检索的变量?我在文档中找不到任何内容,所以也许有人可以在这里提供帮助。

此致 凯

1 个答案:

答案 0 :(得分:2)

RHS中有一个名为kcontext RuleContext的神奇变量。也许从那里你可以以某种方式得到它们。