关于流口水的新手问题。我正在尝试访问规则文件中的以下 java 类。
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:无法解析 ObjectType A.B”
。我还尝试使用 A.getB() ,但这也没有帮助。知道应该是什么吗?如果重要的话,我正在使用 eclipse drools 插件。
我看过jboss规则docs但它们并没有很好地涵盖语法内容。有谁知道我可以在其中查找 drools 语法以及上面的方法的链接?
最佳答案
这可能更好:
A(b.bar == "hello", $varB : b)
在 DRL 中,==
表示等于,而不是相同。
使用 $varB : b
你可以做类似 B varB = a.getB();
关于java - drools 嵌套类的规则语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5558725/