Я обнаружил, что пишу такой метод:
boolean isEmpty(MyStruct myStruct) {
return (myStruct.getStringA() == null || myStruct.getStringA().isEmpty())
&& (myStruct.getListB() == null || myStruct.getListB().isEmpty());
}
А потом представьте себе это структура с множеством других свойств и другими вложенными списками, и вы можете себе представить, что этот метод становится очень большим и тесно связан с моделью данных.
Имеет ли Apache Commons, Spring или какая-либо другая FOSS-утилита возможность рекурсивно рефлексивно обходить граф объектов и определять, что он в основном лишен каких-либо полезных данных, кроме держателей для списков, массивов, карт и т. Д.? Чтобы я мог просто написать:
boolean isEmpty(MyStruct myStruct) {
return MagicUtility.isObjectEmpty(myStruct);
}