java - JBoss Guvnor,我可以在声明性模型中创建数组和/或映射吗?

标签 java drools rule-engine

我在 JBoss 中使用 Drools Guvnor。我正在创建一个声明性模型对象。我可以添加简单类型,例如字符串、 boolean 值等。是否可以在我的对象中添加数组、列表和/或映射?

最佳答案

可以在声明性模型中使用列表和映射。

我使用了 Drools Guvnor 5.5.0.Final 并且这样做了:

  1. 创建新的声明性模型

  2. 添加新事实类型:
    姓名:人

  3. 添加字段:
    名称:字符串
    饮料:字符串

  4. 添加新事实类型:
    姓名:党

  5. 添加字段:
    人:java.util.List

如果您单击“查看源代码”,您应该会看到如下内容:

declare Person
    name: String
    drink: String
end

declare Party
    people: java.util.List
end

为了使用该模型,我在 Guvnor 中创建了一个“技术规则”,如下所示:

when
then
      Person pa = new Person();
      pa.setName("A");
      pa.setDrink("Lager");
      Person pb = new Person();
      pb.setName("B");
      pb.setDrink("IPA");
      Party p = new Party();
      p.setPeople(new java.util.ArrayList());
      p.getPeople().add(pa);
      p.getPeople().add(pb);

      insert(pa);
      insert(pb);
      insert(p);

泛型似乎在流口水中效果不佳。我在构建包时遇到了一些编译错误。

希望对您有帮助!

关于java - JBoss Guvnor,我可以在声明性模型中创建数组和/或映射吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12567136/

相关文章:

java - jMeter 按条件发送 http 请求

.net - 评分/评级引擎 - 建议和示例?

java - 关于积累事实的复杂规则建议

java - 独立 Java 应用程序的规则引擎

标题的 Java XML 打印节点

java - J2ME 中的认证错误

java - 哪些用例使临时 JMS 队列成为比持久队列更好的选择?

java - 通过 REST 调用 BRMS/Drools Logic 的良好设计

java - Drools acquire() 的空指针异常

error-handling - 尝试在 optaplannercode 实体上添加哈希码时出错