DataDumper

概要

開発中に、無性にオブジェクトをダンプしたくなったことはありませんか?
もしそうなら、このクラスの出番です。

サンプル

    /**
     * テスト用Bean
     */
    static class TestBean {
        public TestBean() {    }
        public boolean getBoolean() { return true; }
        public int getInt() { return 123; }
        public float getFloat() { return 123.45f; }
        public double getDouble() { return 123.456d; }
        public String getString() { return "abc"; }
        public Object getObject() { return "obj"; }
        public Object getNull() { return null; }
        public boolean [] getBooleanArray() { return new boolean[]{true, false, true}; }
        public int [] getIntArray() { return new int[]{1, 2, 3}; }
        public float [] getFloatArray() { return new float[]{1.11f, 2.22f, 3.33f}; }
        public double [] getDoubleArray() { return new double[]{1.111d, 2.222d, 3.333d}; }
        public String [] getStringArray() { return new String[]{"a","b","c"}; }
        public Object [] getObjectArray() { return new Object[]{new Boolean(true), new Integer(1),"abc"}; }
        public List getList() { return getLzList().list(); }
        public Map getMap() { return getLzMap().map(); }
        public LzList getLzList() { return new LzList(new String[]{"a","b","c"}); }
        public LzMap getLzMap() { return new LzMap(new String[]{"a","1","b","2","c","3"}); }
        public void setFoo() { assertTrue(false); } //呼ばれない
        public void getBar(int a) { assertTrue(false); } //呼ばれない
    }

    public void testDumpBean() throws Exception {
        DataDumper.dumpBean(System.out, new TestBean());
    }

結果は以下の通りです。

[junkutil.common.DataDumperTest$TestBean] Dump Start
getBooleanArray()=[true, false, true] boolean[]
getIntArray()=[1, 2, 3] int[]
getFloatArray()=[1.11, 2.22, 3.33] float[]
getDoubleArray()=[1.111, 2.222, 3.333] double[]
getObjectArray()=[true, 1, abc] java.lang.Object[]
getLzList()=[a, b, c] junkutil.set.LzList
getLzMap()={a=1, b=2, c=3} junkutil.set.LzMap
getObject()=obj java.lang.Object
getBoolean()=true boolean
getInt()=123 int
getFloat()=123.45 float
getDouble()=123.456 double
getMap()={b=2, c=3, a=1} java.util.Map
getString()=abc java.lang.String
getStringArray()=[a, b, c] java.lang.String[]
getList()=[a, b, c] java.util.List
getNull()=null java.lang.Object
[junkutil.common.DataDumperTest$TestBean] Dump End

その他にも

  • dumpException
  • dumpList
  • dumpMap
  • dumpString
  • dumpStrings
  • exceptionToString

などがあります。