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からシコシコ取らずに済むから使えるかもね。