Drools规则检查在5.4.0以上版本的Collection中的空条件

时间:2014-05-09 12:37:02

标签: drools rule

以前在Drools 5.1.1版本中,有权检查空白情况。

例如,如果Collection类型的变量中没有值,并且我们想为此检查编写条件,那么我们就像写

一样
variable.empty == true

这是Drools 5.1.1的有效规则。但是现在当我尝试在版本5.4.0中执行相同操作时,它不受支持。我试图寻找一些替代方案但找不到一个。

有人可以帮忙吗。

2 个答案:

答案 0 :(得分:2)

使用Book中的List<String> authors和相应的getter,此规则在5.4.0和5.5.0中正常工作:

rule noAuthors
when
    $b1: Book( authors.empty == true )
then
    System.out.println( "No authors: " + $b1.getTitle() );
end

您的代码中可能还有其他障碍。是什么让你说&#34;不支持&#34;?

答案 1 :(得分:0)

您是否尝试过访问收藏品的属性?即。

Collection( size == 0 )

...将匹配任何空的Collection