我想知道当我使用drools规则引擎时,如何在左侧表示一个对象为null? 任何人都可以告诉我如何使用drools关键字“不”等等。谢谢你!
答案 0 :(得分:6)
您可以在not
子句中调用when
来检查空对象:
rule "somerule"
no-loop
when not AnObject()
then
// rule body when AnObject is null
end;
答案 1 :(得分:3)
Drools是建立在Java之上的,所以有一个对象的实例(可能有也可能没有null属性)或者没有。如果对象是工作记忆中的“事实”,那么它不是空的,而你的LHS应该确定它是否存在:
exists MyObject()
not exists MyObject()
但是,如果您要查找具有null属性的事实,则可以执行以下操作:
obj: MyObject(myProperty == null)