Class A{
private String foo;
private SomeClass B;
//getter setter for foo and b
}
Class B{
private String bar;
private Integer value;
//getter setter for bar and value
}
在规则文件中,我想访问成员bar
。
到目前为止,这就是我所拥有的: -
package demo;
import my.test.A;
import my.test.B;
rule "Rule1"
when
$varB : A.B(bar.equals("hello"))
then
$varB.setValue(1);
update($varB);
end
对于上述规则,我收到此错误 - "BuildError: Unable to resolve ObjectType A.B"
。我也尝试使用A.getB()
,这也没有帮助。知道应该是什么吗?如果重要的话,我正在使用eclipse drools插件。
我已经查看了jboss规则docs,但它们并未涵盖语法内容。有没有人知道我可以查找drools语法的链接以及如何像上面一样?
答案 0 :(得分:6)
这可能更好:
A(b.bar == "hello", $varB : b)
在DRL中,==
表示等于,而不是相同。
使用$varB : b
,您可以执行B varB = a.getB();
答案 1 :(得分:0)
尝试这种方式:
$varB : A(B.bar.equals("hello"))