我在JBoss中使用Drools Guvnor。我正在创建一个Declarative Model对象。我可以添加简单类型,如String,Boolean等。是否可以在我的对象中添加数组,List和/或Map?
答案 0 :(得分:2)
可以在声明模型中使用列表和地图。
我使用了Drools Guvnor 5.5.0.Final并且这样做了:
创建新的声明性模型
添加新的事实类型:
姓名:人
添加字段:
name:String
饮料:字符串
添加新的事实类型:
姓名:派对
添加字段:
人: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);
泛型似乎在流氓中效果不佳。我构建软件包时遇到了一些编译错误。
我希望它有所帮助!
答案 1 :(得分:1)
我认为这是不可能的(从尝试和阅读文档)。我已经读过Guvnor,你可以从现有的POJO模型(jar)扩展类,并以这种方式声明它们。