我想从drools文件中访问列表的特定索引。
例如:我的POJO(事实)是:
package com.test.demo;
import java.util.List;
public class Test {
private List<String> addresses;
private long id;
//Getters and Setters here
}
我的DRL规则是:
rule "ValidateTestBooleanCheck"
/* Iterating over a list */
when Test($addresses : addresses)
String() from $addresses
then
System.out.println("Tested");
end
我知道,我的规则是测试所有有效的字符串地址。我的要求是,我想直接转到地址列表的第二和第四个元素,并对列表中的特定项目应用一些规则。
答案 0 :(得分:0)
你可以这样做(虽然我建议你改变模型,如果你能更好地反映地址之间的差异):
rule "Sample"
when
Test($addresses : addresses)
$a1: String() from $addresses.get(1)
$a2: String() from $addresses.get(3)
then
System.out.println("Second Address: "+$a1);
System.out.println("Fourth Address: "+$a2);
end
这假设您的所有Test
个对象至少有4个地址。
希望它有所帮助,