[Seasar-user:10907] Re: S2Dxo での配列の取り扱いについて
Koichi Kobayashi
[E-MAIL ADDRESS DELETED]
2007年 10月 7日 (日) 23:23:23 JST
小林 (koichik) です.
Date: Sun, 07 Oct 2007 22:39:17 +0900
From: "o.h." <[E-MAIL ADDRESS DELETED]>
To: [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:10906] Re: S2Dxo での配列の取り扱いについて
> 現在はいったん
>
> >
> > void setVal1(String[] val1)
> > void setVal2(String[] val2)
> >
>
> とした中間的な bean に Dxo で設定し、その後 FooBean の配列を
> 作成ループで bean に転記していっています.
>
> ということでなんか冗長な感がありまして、もしかして Dxo で
> 直にいけるんではないかと思った次第です.
この場合は,Dxo のメソッドに独自の変換コードを
書いてしまう方が簡単な気がします.
Dxo はインタフェースだけでなく抽象クラスに
することも可能です.
public abstract class FooDxo {
public Foo[] convert(Map map) {
...
}
...
}
あるいは,インタフェースと実装 (抽象) クラスを
分けることも可能です.
public interface FooDxo {
Foo[] convert(Map map);
...
}
public abstract class FooDxoImpl implements FooDxo {
public Foo[] convert(Map map) {
...
}
}
いずれの場合も,メソッドが実装されていれば
S2Dxo のインターセプタは適用されません.
実装のない,抽象のままのメソッドにのみ
Dxo のインターセプタが適用されます.
こうすれば,Dxo を呼び出す側は違いを意識する
必要がなく,Dxo のインターセプタを利用できる
ありきたりな変換と,特殊な変換を混在させる
ことができます.
--
<component name="koichik">
<property name="fullName">"Koichi Kobayashi"</property>
<property name="email">"[E-MAIL ADDRESS DELETED]"</property>
<property name="blog">"http://d.hatena.ne.jp/koichik"</property>
</component>
Seasar-user メーリングリストの案内