java - drools 嵌套类的规则语法

标签 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
}

在规则文件中,我想访问成员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/

相关文章:

java - 如何包含jpcap库?

java - Drools - 使用 map 时解析器错误

java - Optaplanner - HardMediumSoftScoreHolder - 如何强制求解器首先最小化中等分数,然后最小化软分数?

c# - C# 和 Java 之间表达式中 float 或 double 的隐式转换/提升

java - IntelliJ IDEA 中 Eclipse 的 Ctrl+O(显示大纲)快捷方式是什么?

java - 如何获取java对象在内存堆中占用的空间?

java - eclipse 中缺少 android.jar

eclipse - 在 Eclipse 中使用 MinGW 32 位构建 64 位 dll

tomcat - 使用 Drools 和 Tomcat 的问题

java - 大输入动态规划