drools嵌套类的规则语法

Coo*_*ans 0 java eclipse drools

关于流口水的新手问题.我试图在规则文件中访问以下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
}
Run Code Online (Sandbox Code Playgroud)

在规则文件中,我想访问该成员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
Run Code Online (Sandbox Code Playgroud)

对于上述规则,我收到此错误 - "BuildError: Unable to resolve ObjectType A.B".我也试过用A.getB(),但也没用.知道应该是什么吗?如果重要的话,我正在使用eclipse drools插件.

我已经查看了jboss规则文档,但它们并没有涵盖那些语法.有谁知道我可以查找drools语法的链接以及如何像上面那样?

Geo*_*met 6

这可能更好:

A(b.bar == "hello", $varB : b) 
Run Code Online (Sandbox Code Playgroud)

在DRL中,==意味着等于,而不是相同.和$varB : b你一样B varB = a.getB();