あるオブジェクトから別のオブジェクトへのタイプセーフな変換を行うための DSL を作成しようとしています。
src classA
dst classB
map valueA to valueB with ConverterX
map valueC to valueD with ConverterY
結果は次のようになります。
class Converter
{
public void convert(ClassA a, ClassB b)
{
a.setValueA(ConverterX.convert(b.getValueB))
b.setValueC(ConverterY.convert(b.getValueD))
}
}
そのためのコードを生成したいだけですが、既に定義したクラスにアクセスできません。その理由は、デフォルトのコンバーターを使用できるようにするためです。パラメータの型を取得できる場合にのみ、デフォルト コンバータの実装を選択できます。