■
まずはタヌキの基本、1:1の変換。
ソースコード的には
HashMap out = new HashMap(); out.put("empno",emp.getEmpno()); out.put("ename",emp.getEname()); // 続く
こんな感じの部分。
使うのはOneOneConverterとOneAdapterを二つ。
OneOneConverterにAとBでAdapterをセットして、field情報を追加。あとは変換メソッドを呼びだす。
AfromBはBの情報をAにコピーする(逆のBfromAも有り)createAはBの情報からAを作る(逆もあり)。
入力出来ないAdapterや、出力出来ないAdapter等Adapterによって実行時に例外を吐く場合もあり。
タヌキの中ではこの1;1変換を内部でかな〜り利用しているのがポイント
次の基本は1:nの変換
OneManyChildConverter
ArrayLost outList = new ArrayList(); //ArrayListAdapter HashMap out = new HashMap(); out.put("empno",emp.getEmpno()); //OGNLAdapterとMapAdapter out.put("ename",emp.getEname()); // 続く outList.add(outList); //ArrayListAdapter return out;
ソースコード的にはこんな感じ。一件のデータをnに追加したり、nから一件取得したり・・・
AdapterはOneとManyを渡すのでA、BじゃなくOne,Manyなのがポイント!
場所の特定しつつ取得・設定するために位置の情報を追加する場合も多々あり
当然Adapterによって例外のパターンもあり。
残りは、ManyManyChildConverterは
OneManyChildConverterの両方が配列に変化
(追記)
多重継承マジで欲しいよ!!!