コンストラクタに対応。
XMLのデータ
こんな感じ。
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE bodybuilder> <bodybuilder> <list> <add value="value1"/> <add value="value2"/> <add> <list> <constructor> <arg type="java.util.Collection"> <list> <add value="constructor value1"/> <add value="constructor value2"/> </list> </arg> </constructor> <add value="nested value1"/> <add value="nested value2"/> <add> <bean type="sample.FakeBean"> <constructor> <arg value="FOO"/> <arg value="BAR"/> </constructor> </bean> </add> </list> </add> <add value="value4"/> <add> <map> <constructor> <arg type="java.util.Map"> <map> <constkey1 value="const map value1"/> <constkey2 value="const map value2"/> <constkey3> <map> <mapvals foo="bar" hoge="hogehoge"/> </map> </constkey3> </map> </arg> </constructor> <key1 value="map value1"/> <key2 value="map value2"/> </map> </add> </list> </bodybuilder>
サンプルのコード
こんな感じ。
package sample;import bodybuilder.builder.Bullworker;
import bodybuilder.viewer.Viewer;public class Sample4 {
public static void main(String[] args) {
Bullworker bullworker = new Bullworker(
"C:\\eclipse3\\workspace\\bodybuilder\\data\\sample4.xml");
Object obj = bullworker.getMuscle();
Viewer.dump(obj);
}}
サンプルの実行結果
こんな感じ。
ArrayList(5) {
[0]=>
String(6) "value1"
[1]=>
String(6) "value2"
[2]=>
ArrayList(5) {
[0]=>
String(18) "constructor value1"
[1]=>
String(18) "constructor value2"
[2]=>
String(13) "nested value1"
[3]=>
String(13) "nested value2"
[4]=>
sample.FakeBean {
["foo"]=>
String(3) "FOO"
["bar"]=>
String(3) "BAR"
}
}
[3]=>
String(6) "value4"
[4]=>
HashMap(5) {
["key1"]=>
String(10) "map value1"
["constkey3"]=>
HashMap(2) {
["foo"]=>
String(3) "bar"
["hoge"]=>
String(8) "hogehoge"
}
["constkey1"]=>
String(16) "const map value1"
["constkey2"]=>
String(16) "const map value2"
["key2"]=>
String(10) "map value2"
}
}