[Seasar-dev:220] toString()を自動生成するToStringInterTypeはどうでしょうか?

江里口 温 on-eri
2006年 1月 8日 (日) 00:51:21 JST


初めまして、エスエムジーの江里口と申します。
小森さん、村田さん、速川さんの後輩です。

小森さんの発案したPropertyInterTypeって便利ですよね。

新しいInterTypeの提案なのですが、
自動的に詳細なtoStringメソッドを追加してくれるToStringInterType
を作ってはどうでしょうか?

toStringはデフォルトでは クラス名@内部アドレス の様な文字列を生成します
が、デバッグ時にはこの情報では足りず、自分でもっと詳細な情報を出すように
修正することが多いです。

そこで、
以下の様に宣言しておくことで自動的にtoStringメソッドをオーバーライドし、
クラス内部のフィールド一つ一つを出力するように修正してくれる様なInterType
があれば便利だと思います。

●定義例
@ToString(VERBOSE)
public class FooDto {
    int  intVal;
    Date dateVal;

●生成するtoStringメソッド
public String toString() {
    StringBuffer buffer = new StringBuffer(20);
    buffer.append(super.toString());
    buffer.append(",");
    buffer.append("intVal=");
    buffer.append(intVal);
    buffer.append(",");
    buffer.append("dateVal=");
    buffer.append(DateVal);
}

出力内容やフォーマットは検討の余地がありますが、どうでしょうか?

--
江里口 温


seasar-dev メーリングリストの案内