2

I'm using Drools Guvnor in JBoss. I am creating a Declarative Model object. I can add simple types such as String, Boolean, etc. Is it possible to add an array, List and/or Map in my object?

4

2 回答 2

2

可以在声明性模型中使用 Lists 和 Maps。

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

  1. 创建新的声明性模型

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

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

  4. 添加新的事实类型:
    名称:Party

  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);

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

我希望它有帮助!

于 2013-05-07T11:14:43.693 回答
1

我认为这是不可能的(通过尝试和阅读文档)。我在 Guvnor 中读到过,您可以从现有的 POJO 模型(jar)中扩展类,并以这种方式使它们具有声明性。

于 2012-09-26T10:42:32.180 回答