2

JBoss で Drools Guvnor を使用しています。宣言型モデル オブジェクトを作成しています。String、Boolean などの単純な型を追加できます。オブジェクトに配列、List、Map を追加することはできますか?

4

2 に答える 2

2

宣言型モデルでリストとマップを使用することができます。

Drools Guvnor 5.5.0.Final を使用して、次のようにしました。

  1. 新しい宣言型モデルを作成する

  2. 新しいファクトタイプを追加:
    名前: 個人

  3. フィールドを追加:
    名前: 文字列
    飲み物: 文字列

  4. 新しいファクト タイプを追加:
    名前: パーティ

  5. フィールドを追加:
    people: 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 に答える