У меня сложная иерархия объектов, которая имеет несколько расширений.
Я ищу библиотеку, которая может рефлексивно вставлять значения по умолчанию во все поля.
Например:
class Person {
String name;
Color color;
List<Clothes> clothes;
}
class Child extends Person {
Sibling sibling;
}
class Foo {
Person person;
Child child;
}
Я хотел бы, чтобы библиотека принимала объект в качестве параметра, в данном случае класс Foo
, а затем рефлексивно вставляла значения по умолчанию (даже лучше, если я могу определить значения по умолчанию) во все поля. Также все карты, списки, наборы и т. Д. Должны получить новый
Я посмотрел на BeanUtils , но, насколько мне известно, он не поддерживает в точности то, что я ищу.
NB. Это всего лишь примеры, и мои объекты намного сложнее и крупнее. У них много объектов, и у каждого объекта много объектов и так далее. Оба с картами, списками и т. Д.
Может быть, лучше объединить некоторые библиотеки, такие как BeanUtils и Google Guava, и сделать их своими?