我在检查列表中的对象是否具有drools值时遇到了一些问题。
我的模特就是这个
class Products{
private List<Approver> approvalPath;
}
class Approver{
private String employeeName;
}
所以,我需要制定一个像这样的规则
rule "member"
when
//approvalPath has an approver with name "Charles" (for example)
then
//do something
end
我该怎么做?
答案 0 :(得分:7)
以下是两个版本。
when
$app: Approver( employeeName == "Charles" )
Products( approvalPath contains $pp )
和
when
Products( $ap: approvalPath )
Approver( employeeName == "Charles" ) from $ap
Number 1需要插入Approver对象作为事实。
答案 1 :(得分:0)
rule member
when
$p : Products()
$a : Approver( name == "Charles" ) from $p.approvalPath
then
...
end
上述规则将为列表中名为Charles的每个审批人触发一次。如果您只想触发一次规则,无论Charles在列表中有多少批准者,只需将第二行包含在exists(...)中。