Java Drools搜索地图值
我正在尝试建立一个关于流口水的规则。 我目前的代码是:Java Drools搜索地图值,java,dictionary,drools,Java,Dictionary,Drools,我正在尝试建立一个关于流口水的规则。 我目前的代码是: rule "Test Rule #1" when obj1 : MyObject ( ) map : ArrayList (size < 1) from collect ( HashMap ( values ( House ( windows = 3) ) ) ) from obj1.getHouses() then // Do something end 规则“测试规则#1” 什么时候 对象J1:MyObject() ma
rule "Test Rule #1"
when
obj1 : MyObject ( )
map : ArrayList (size < 1) from collect ( HashMap ( values ( House ( windows = 3) ) ) ) from obj1.getHouses()
then
// Do something
end
规则“测试规则#1”
什么时候
对象J1:MyObject()
map:collect中的ArrayList(大小<1)(从obj1.getHouses()中的HashMap(值(House(windows=3)))
然后
//做点什么
结束
我想做的是:检查HashMap中是否有带3个窗口的房子。如果没有//做点什么。
为此,我尝试访问obj1.getHouses(),它是一个HashMaprule "find houses"
when
obj1: MyObject()
$fl: List()
from accumulate( $l: List(),
init( List flat = new ArrayList(); ),
action( flat.addAll( $l ); ),
result( flat ) )
from obj1.getHouses().values()
not House( windows == 3 ) from $fl
then
//... $h is a house with three windows
end
您需要分解散列图中的值列表。然后,您可以检查带有三个窗口的房屋的结果列表
由于您没有提供设置演示的所有代码,因此此规则未经测试。HashMap的外观如何?映射值通过以下语法访问:HashMap
.drl
文件吗?似乎有些类导入是错误的。。。