いくつかの拡張がある複雑なオブジェクト階層があります。
すべてのフィールドにデフォルト値を反射的に挿入できるライブラリを探しています。
例えば:
class Person {
String name;
Color color;
List<Clothes> clothes;
}
class Child extends Person {
Sibling sibling;
}
class Foo {
Person person;
Child child;
}
オブジェクト (この場合はFoo
クラス) をパラメーターとして取り、すべてのフィールドに既定値を反射的に挿入するライブラリが必要です (既定値を定義できればさらに優れています)。また、すべてのマップ、リスト、セットなどは新しいものを取得する必要があります
BeanUtilsを見てきましたが、私の知る限り、探しているものを正確にサポートしていません。
注: これらは単なる例であり、私のオブジェクトははるかに複雑で大きくなっています。それらには多くのオブジェクトがあり、各オブジェクトには多くのオブジェクトがあります。マップ、リストなどの両方。
BeanUtils や Google Guava などのいくつかのライブラリを組み合わせて、自分のものにする方が良いでしょうか?