Drools决策表 - 一列 - 两个字段

时间:2013-12-17 11:58:44

标签: drools drools-guvnor guvnor

假设我们有一些与一个或多个代码相关的类:主要和次要。该类的每个对象至少具有主代码,并且可以具有无限数量的辅助代码:

class Something {

  private String mainCode;
  private List<String> secondaryCodes;
}

我想在Drools决策表中制定一个规则,它允许我检查列中给出的值是否等于mainCode或者是否包含在secondaryCodes中。 因此,我需要一个列来处理与两个不同字段相关的两个规则。

甚至可能吗?

2 个答案:

答案 0 :(得分:1)

约束可以写为复合布尔表达式:

mainCode == $param || secondaryCodes contains $param

对于您在此类表达中引用的字段没有限制。

答案 1 :(得分:0)

你可以在条件BRL片段中使用@ {param}在Guvnor中执行此操作,如:

  $s : Something (maincode == "@{codes}" || secondaryCodes contains "@{codes}"

这给你一栏。 -J