当我使用drools规则引擎时,如何表达一个对象为null

时间:2014-01-22 09:51:39

标签: drools business-rules

我想知道当我使用drools规则引擎时,如何在左侧表示一个对象为null? 任何人都可以告诉我如何使用drools关键字“不”等等。谢谢你!

2 个答案:

答案 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)
相关问题