« Seasar SMART deploy環境でのDaoへのIntercept | Main | S2DxoとJAXB2.0 その2 »

2007.07.16

S2DxoとJAXB2.0

  • S2Dxoを使うと、オブジェクトのプロパティを別のオブジェクトに変換可能(Dto->Entityの変換等)。
  • SeasarのInterTypeを使用すると、setter/getterの自動生成が可能。
  • JAXB2.0を使用すると、アノテーションでサクサクッとXMLのデータをオブジェクトにバインドすることが可能。

     さて、これを組み合わせると・・・??

  •  とりあえず考えたのが、JAXB2.0のバインド対象オブジェクトに対してInterTypeを適用し(単にsetter/getterをを書くのが面倒なだけなのですが)、Dxoでサクサクとプロパティをコピー、ってわけですが・・・残念ながら、上手く動きませんでした。

     InterTypeが提供されたオブジェクトを取得するためには、S2Container経由でオブジェクトを取得する必要があるわけですが、JAXBの場合は独自にオブジェクトが生成されてしまうため、得られるのはInterType適用前のオブジェクト。なので、setter/getterは存在せず、Dxoでのプロパティコピーの対象外となってしまいます。

     う~ん・・・いい案だと思ったんですけどねぇ・・・。JAXBContextのインスタンスを生成する際、S2Container経由で取得したオブジェクトを元にクラスを登録すれば何とかなったりするんですかねぇ?

     こんな感じ?

    JAXBContext.newInstance(s2container.getComponent(Hoge.class).getClass())

     上手く動くんだろうか(^^;

    #気力があれば試してみることとしますか。

    |

    « Seasar SMART deploy環境でのDaoへのIntercept | Main | S2DxoとJAXB2.0 その2 »

    Java」カテゴリの記事

    Comments

    Post a comment



    (Not displayed with comment.)


    Comments are moderated, and will not appear on this weblog until the author has approved them.



    TrackBack


    Listed below are links to weblogs that reference S2DxoとJAXB2.0:

    » S2DxoとJAXB2.0 その2 [気の向くままに・・・]
     JAXBでのバインド先にInterTypeを適用ですが、とりあえず以下のような [Read More]

    Tracked on 2007.07.17 05:31

    » S2DxoとJAXB2.0 その5 [気の向くままに・・・]
     InterTypeを適用し、S2DxoとJAXB2.0の組み合わせでいろいろと [Read More]

    Tracked on 2007.08.16 18:26

    « Seasar SMART deploy環境でのDaoへのIntercept | Main | S2DxoとJAXB2.0 その2 »