在Drools中,如何检查列表是否不包含具有特定值的对象?

时间:2018-07-09 16:34:05

标签: java drools

我正在制定一条规则,该规则查看给定对象的列表,并检查字符串字段之一是否不包含某个值。如果列表中的任何对象包含上述值,那么我希望规则失败。

    when
        $vr: RequestDTO($activeObjects: activeObjects);
        eval(!$activeObjects contains ObjectDTO(this.name == "TEST NAME")); 
    then
        displayModalAction.setMessage("Message to Show");
    end

在规则的何时语句中是否可以执行这种操作?

1 个答案:

答案 0 :(得分:1)

似乎您正在寻找没有名称为“ TEST NAME”的ObjectDTO的RequestDTO。如果正确,请尝试以下操作:

when
    RequestDTO($activeObjects: activeObjects)
    not exists(ObjectDTO(name == "TEST NAME") from $activeObjects)
then
    ...