流口水与多个对象

Drools with multiple of Objects

我有一个对象 class "Applicant"

Applicant applicant = new Applicant("David", 37); // (name, experienceInYears)

根据申请人的年龄,我设置其角色:

SuggestedRole suggestedRole = new SuggestedRole();
applicantService.suggestARoleForApplicant(applicant, suggestedRole);

我的流口水文件是:

rule "Suggest Manager Role"
    when
        Applicant(experienceInYears > 10)
    then
        suggestedRole.setRole("Manager");
end

From: https://www.baeldung.com/drools

我想要实现的是对List[Applicant]执行相同的操作。一种方法是遍历 Java 中的列表并执行相同的操作,但我正在寻找流口水解决方案。无论如何我可以配置流口水以将 List[Applicant] 作为输入和 return List[SuggestedRole]

您不必更改任何内容。 Drools 进行模式匹配。如果将所有 Applicant 对象插入 Drools 会话,则相同的 Drools 规则会逐个评估申请人,并在适用时设置建议的角色。