Javaと情熱のあいだ

Play Frameworkはじめました

ToStringStyleの実装サンプル

Beanの中身などを文字列で吐き出してくれる
便利なToStringBuilder.reflectionToStringで使うToStringStyleの実装サンプルです。
ある程度出力してくるクラスはToStringStyleに定義されているのですが
自由な形式で出力したい場合には実装したほうが楽です。


材料はこちら
org.apache.commons.lang

public class ToStringStyleExample {

    /**
     *
     * 実行
     * @throws Exception 例外
     */
    public void execute() throws Exception {

        final Test test = new Test();

        test.setHoge("test01");

        test.setPiyo("test02");

        System.out.println(ToStringBuilder.reflectionToString(test,
                new ExampleToStringStyle()));

    }

    /**
     *
     * <HR>
     * <P>
     *  ■モジュール名 <BR>
     * <BLOCKQUOTE>
     *      Test.java <BR>
     * </BLOCKQUOTE>
     * <P>
     *  ■クラス仕様 <BR>
     * <BLOCKQUOTE>
     *      Testクラスはxxxxするクラスです。<BR>
     * </BLOCKQUOTE>
     * <P>
     * <HR>
     * <P>
     */
    public static class Test {

        /**
         * 確認用変数
         */
        private String hoge;

        /**
         * 確認用変数
         */
        private String piyo;

        /**
         *
         * 確認用変数を取得します。
         * @return 確認用変数
         */
        public String getHoge() {
            return hoge;
        }

        /**
         *
         * 確認用変数を設定します。
         * @param hoge 確認用変数
         */
        public void setHoge(String hoge) {
            this.hoge = hoge;
        }

        /**
         *
         * 確認用変数を取得します。
         * @return 確認用変数
         */
        public String getPiyo() {
            return piyo;
        }

        /**
         *
         * 確認用変数を設定します。
         * @param piyo 確認用変数
         */
        public void setPiyo(String piyo) {
            this.piyo = piyo;
        }
    }

    /**
     *
     * <HR>
     * <P>
     *  ■モジュール名 <BR>
     * <BLOCKQUOTE>
     *      ExampleToStringStyle.java <BR>
     * </BLOCKQUOTE>
     * <P>
     *  ■クラス仕様 <BR>
     * <BLOCKQUOTE>
     *      ExampleToStringStyleクラスはToStringStyleの実装クラスです。<BR>
     * </BLOCKQUOTE>
     * <P>
     * <HR>
     * <P>
     */
    public static class ExampleToStringStyle extends ToStringStyle {

        /**
         * シリアルバージョンUID
         */
        private static final long serialVersionUID = 1L;

        /**
         *
         * コンストラクタ
         */
        public ExampleToStringStyle() {
            super();
            this.setUseClassName(false);
            this.setUseIdentityHashCode(false);
            this.setUseFieldNames(true);
            this.setFieldNameValueSeparator(":");
            this.setFieldSeparator(")(");
            this.setContentStart("(");
            this.setContentEnd(")");
        }
    }
}

実行結果はこちら

(hoge:test01)(piyo:test02)

Beanの中身を一個ずつ参照しなくて良いので楽。