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

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


有没有办法在规则的when语句中执行这种操作?

最佳答案

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

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

关于java - 在Drools中,如何检查列表是否不包含具有特定值的对象?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51250219/

10-10 16:42