[Seasar-dev:227] Re: toString()を自動生成するToStringInterTypeはどうでしょうか?
Koichi Kobayashi
koichik
2006年 1月 8日 (日) 22:00:26 JST
小林 (koichik) です.
Date: Sun, 08 Jan 2006 00:51:17 +0900
From: 江里口 温 <on-eri @ vega.ocn.ne.jp>
To: seasar-dev @ lists.sourceforge.jp
Subject: [Seasar-dev:220] toString()を自動生成するToStringInterTypeはどうでしょうか?
> 初めまして、エスエムジーの江里口と申します。
> 小森さん、村田さん、速川さんの後輩です。
はじめまして!
エスエムジーさんって,人材豊富ですねぇ.(^^;
> 新しいInterTypeの提案なのですが、
> 自動的に詳細なtoStringメソッドを追加してくれるToStringInterType
> を作ってはどうでしょうか?
考えてみたのですが,InterType じゃなくて MethodInterceptor の方が
いいような.
これは toString() という全てのクラスに備わるメソッドの
「動的な振る舞いを変更」するもので,新たなメソッドを追加
するなどの「静的な構造の変更」をするものではないというのが
理由です.
基本的に Debug メッセージでの用途が主だと思いますから,実行時に
リフレクションバリバリでも問題はないと思います.
例えば commons lang を使って
public class ToStringInterceptor implements MethodInterceptor {
public Object invoke(final MethodInvocation invocation) throws Throwable {
return ToStringBuilder.reflectionToString(invocation.getThis());
}
}
みたいな (メーラで書いただけなのでコンパイルすら通らないかも).
S2 で提供するなら common lang を使わずに独自にフォーマット
するべきかもしれませんが,いずれにせよ InterType ではなく
MethodInterceptor がよさげ.
--
<signature>
<name>Koichi Kobayashi</name>
<e-mail>koichik @ improvement.jp</e-mail>
</signature>
seasar-dev メーリングリストの案内