APIの概略
OneOneConverter:xxxConverter・・・変換クラス
setAdapterA,setAdapterBの二つのメソッドでAdapter(変換先とつなげるためのアダプタクラス)をセット。
Converter.addFieldでAとBのfield定義をしていく、定義の情報はAdapterに依存する(ここがほぼ自動化できればいいのになぁ〜)
ConverterのBfromAでAからBへ、AfromBでBからAへの変換、createAやcreateBを使うとBやAの情報からAやBを自動で抽出
ということで、Converterのインターフェースはこれ(笑)
public interface OneOneConverter { public OneOneConverter addField(Object fieldA,Object fieldB); public void setAdapterA(OneAdapter adapterA); public OneAdapter getAdapterA(); public void setAdapterB(OneAdapter adapterB); public OneAdapter getAdapterB(); public Object AfromB(Object a,Object b); public Object createA(Object b); public Object BfromA(Object b,Object a); public Object createB(Object a); }
ほかのConverterも大体こんな感じ