[Seasar-user:7081] Re: [Teeda] ページのプロパティのプロパティを表示するには?

Satoshi Takei [E-MAIL ADDRESS DELETED]
2007年 4月 6日 (金) 11:39:03 JST


武居です。回答ありがとうございます。

> PageにdeptNameというプロパティを用意して、
> Dxoでコピーすると良いです。
> たぶん、PageにdeptNameというプロパティを用意しておけば
> 後はDxoが自動的に処理してくれると思います。
>   
以下の(1)〜(3)とすることで、うまく表示できるようになりましたが、
Dxoの変換メソッドはどのタイミング(箇所)で呼び出すのがベストなのでしょうか?

(1)EmpをEmpPageListへコピーするDxoを作成しました。
public interface EmpDxo {
void convert(Emp emp, EmpListPage page);
}

(2)EmpListPageにdeptNameプロパティとEmpDxoプロパティを追加しました。
private String deptName;
public String getDeptName() {
return deptName;
}
public void setDeptName(String deptName) {
this.deptName = deptName;
}

private EmpDxo empDxo;
public EmpDxo getEmpDxo() {
return empDxo;
}
public void setEmpDxo(EmpDxo empDxo) {
this.empDxo = empDxo;
}

(3)EmpListPageクラスでテーブルの各行を出力する際に、呼び出されている
setEmpIndexメソッドでdxoのconvertメソッドを呼びだす。
public void setEmpIndex(int empIndex) {
this.empIndex = empIndex;
empDxo.convert(empItems[empIndex], this); ←この行を追加
}

とりあえずsetEmpIndexメソッドにdxoの変換処理を入れてみたのですが、
各行を描画する際には、各行のプロパティのsetterも呼び出されており、
このメソッド内で、dxoでdeptName以外のプロパティをコピーするのは
無駄な処理にも思えます。
最適な実装はどうするべきなのでしょうか?

以上、よろしくお願いします。

-- 
武居聡([E-MAIL ADDRESS DELETED])






Seasar-user メーリングリストの案内