MaskatJavaEE_FW 暫定機能

まだ1.5.0は発表されてないみたいね。

とりあえず、暫定的に機能追加をしてみました。
まぁ使えるかな。って機能。

処理クラスのフィールドに
ノードと同名のものがある場合、自動injectionする機能です。

まず、
リクエストがこんなん↓
<root><arg1>10</arg1><arg2>500</arg2><arg3>-25.5</arg3></root>
そんで、処理クラスのフィールドが
private int arg1;
private long arg2;
private double arg3;
の3つの場合。これが一番スタンダードね。
arg1に10がarg2に500がarg3に-25.5がそれぞれ代入される。

次、
<root><comp><arg1>10</arg1><arg2>500</arg2><arg3>-25.5</arg3></comp></root>
入れ子になってます。1段の入れ子はMapで表現。
private Map comp;
keyがarg1,arg2,arg3の3つ。その値が"10","500","-25.5"に。
型判定のしようがないので文字列なのがちょっと使いにくいかも・・・

で、最後、
2段の入れ子の場合でかつ1段目の入れ子が同じ名前。
<root>
 <list>
  <comp>
   <arg1>10</arg1><arg2>500</arg2><arg3>-25.5</arg3>
  </comp>
  <comp>
   <arg1>20</arg1><arg2>1000</arg2><arg3>55.5</arg3>
  </comp>
 </list>
</root>

この場合はMapのListになる。
private List list;
list.get(0) => 上側の要素3つをもつMap
list.get(1) => 下側の要素3つをもつMap

と合計3種類。
いままで作ってきた中で、たぶんこれだけ対応してればOKだと思うんだけどね。

MaskatRequestからシコシコ取らずに済むから使えるかもね。