在条件时比较Drools中的列表项属性

时间:2012-09-05 09:59:19

标签: drools

我在StatefulKnowledgeSession中插入了元素列表。现在在drools .drl文件的When子句中,我需要比较列表中不同元素的一些属性值。

例如,我有一个宠物列表[在会话中添加为kbSession.insert(list)],其中每个宠物都有一个名称属性(pet1.name =“adi”,pet2.name =“flix”)。那么最好在when子句中检查这些项目?

在我的test.drl文件中说我有

规则“宠物项目”

方言“java”

 list.get(0).name != list.get(1).name

然后

 do something!

非常感谢任何建议!

亲切的问候,

Shekh

1 个答案:

答案 0 :(得分:0)

您是否正在尝试根据规则验证所有Pet对象(技术权利术语 - 事实)?然后您不需要将其作为List插入。将所有Pet对象逐个插入session.insert(petObj)和fireAllRules。规则引擎将根据规则检查所有对象,然后激活匹配对象的规则。