绑定到地图条目

时间:2018-12-14 12:37:05

标签: drools

我有这样一条规则maxNumConsecutiveCubicCustomersPerLocation

Customer(..., $location: location, $consecAndWaitingMap: consecAndWaitingMap)

我要做的就是用键entry(这是一个枚举类型)检索$consecAndWaitingMap的{​​{1}}。

在规则的$location部分中,我可以像这样then轻松打印条目,但是我可能不绑定它:

System.out.println($location+": "+$consecAndWaitingMap.get($location));

给出的编译时间错误:

$consec: $consecAndWaitingMap.get($location)

我已经导入了所有必需的类(Unable to resolve ObjectType '$consecAndWaitingMap.get' ),所以这不是问题。其他解决方法,例如修复import java.util.Map; import ...Customer;,或通过$location进行访问,或先绑定到[],然后使用Customer检索地图,都会出现类似的错误。

如何绑定到consecAndWaitingMap: HashMap() from $customer.getConsecAndWaitingMap()?如果不可能,有什么解决方法的想法吗?

1 个答案:

答案 0 :(得分:1)

您可以将条目与其他变量绑定在同一行。以下代码应该可以工作:

Customer(..., $location: location, $consecAndWaitingMap: consecAndWaitingMap, $mapEntry : consecAndWaitingMap.get(location))

请注意,在绑定新变量时不能使用其他变量,需要使用实际的“位置”字段。 (将“ location”替换为“ $ location”会产生错误)