大小并包含Drools中的列表方法

大小并包含Drools中的列表方法,drools,Drools,是否可以使用向导式编辑器(向导式决策表或向导式规则)根据列表的大小编写条件,并检查列表中是否存在任何元素 例如 User { List of badges; } 现在我想对徽章的数量和用户的徽章列表中是否有特定的徽章应用条件 我还可以与对象进行比较。例如,两个用户的徽章计数条件 我用的是KIE Drools工作台 以下是源代码的外观:- import com.demo.dto.User; import com.demo.dto.Badges; rule "Compare two

是否可以使用向导式编辑器(向导式决策表或向导式规则)根据列表的大小编写条件,并检查列表中是否存在任何元素

例如

User { 
    List of badges;
}
现在我想对徽章的数量和用户的徽章列表中是否有特定的徽章应用条件

我还可以与对象进行比较。例如,两个用户的徽章计数条件

我用的是KIE Drools工作台

以下是源代码的外观:-

import com.demo.dto.User;
import com.demo.dto.Badges;

rule  "Compare two variables"

when 
$badge : Badges() 
$user : User(name == "Sam", badges.size() >= 9, $badge memberOf badges)

then
$user.setService($user.getService() + $user.getBadges().size());

end

问题是创建这样的规则通常是可能的,还是使用某种图形工具是可能的?对于后者,您可以提供一个示例,说明规则在源代码中的外观,而不仅仅是它应该操作的列表。更新了问题,以包括源代码生成的源代码的外观……但DRL源代码不正确。memberOf不能用作模式和表达式之间的运算符。如果您想表示一个用户应该至少有一个徽章,请在用户模式的上下文中这样说:user…,badges.size>0。-调用$user.getImpact需要括号。感谢Laune,我更新了源代码,我想检查是否可以映射这些决策表,比如我可以将$badge memberOf badges作为条件,将true或false作为可选值吗?