2
我有一个名为Customer的对象。客户对象由库存对象列表组成,库存由报价列表和内部报价组成,其中有一个称为状态的字段。这是我的对象图。遍历对象列表
class Customer{
List<Stock> stocks;
//getter and setters
}
class Stock{
List<Quote> quotes;
//getter and setters
}
class Quote{
String status;
//getter and setters
}
现在我需要写在DRL规则来验证,如果状态在任何引用对象的股票名单中所有股票报价的状态为客户“启动”,那么所有其他值应该只是“发起”。
含义如果状态为“启动”,则只有启动对于所有客户的股票的所有报价均为有效值。这仅用于“启动”状态。
我花了一天的时间写一条规则,但没有成功。我只能将整个Customer对象传递给规则引擎。任何人都可以帮忙吗?
我们正在使用m方言。对于,如果和其他行动内的行动? – user2997551 2015-04-02 16:19:34
尽管已经做了很多工作来改善这种情况,方言“mvel”在许多Drools版本中被打破。在这个规则中使用'方言'java''切换回有序编译。或者使用一个静态的Java方法来检查这个属性,就像积累的方式一样。或者按照Drools文档中的说明实施自定义累积。 – laune 2015-04-02 16:40:01