2013-12-17 155 views
0

假设我们有一些与一个或多个代码相关的类:main和secondary。这个类的每个对象都有至少主要的代码,可以有无限数量的二次代码:Drools决策表 - 一列 - 两个字段

class Something { 

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

我想在Drools的决策表的规则,让我检查,如果在列给定值等于mainCode或由secondaryCodes包含。 所以我需要一个列来处理与两个不同字段有关的两个规则。

它甚至有可能?

回答

1

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

mainCode == $param || secondaryCodes contains $param 

有没有限制你参考。在这种表达中的字段。

+0

感谢您的回答,但我仍然不知道如何在Guvnor中做到这一点。也许我不清楚这一点。 –

+0

我在这里尝试了很多东西,我总是会得到两列填充。 –

0

您可以在的Guvnor像一个条件BRL片段使用@ {} PARAM做到这一点:

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

这就给了你一列。 -J