我尝试搜索任何现有的实现/库,但没有找到。有没有图书馆能做到这一点?是否有这种模式的名称(例如JavaBean访问者可能会这样?但通常访问的条目有访问方法或类似)
约束:
我会根据一些规则(最好是分层规则系统)向系统输入一个对象并将其接收转换(“就地”要求不是那么关键)。
示例规则:
规则应该应用于每个嵌套结构,所以假设我们有
a.getB().getC().getD().getE().getString()
R1应该适用(除非R2具有“更高优先级”,否则应该适用)。新值将使用
设置a.getB().getC().getD().getE().setString(transformedString)
此外,如果任何getter返回一个数组,它应该被遍历并且规则应用于每个元素(除非有一个规则来替换整个数组,例如“将所有数组设置为null”-rule)。
为什么呢?我有大约50个不同的POJO,它们有1~5层其他POJO的嵌套,我需要对它进行一些转换“。对于所有类型,转换逻辑或多或少都是常见的,例如类型X用新X替换它基于变换Y(可能或可能不依赖于实例的值)。在特定POJO中X的实例(即“path”a.getb.getc等)取决于POJO。
我最有可能最终编写自己的解决方案,但只是想问一下是否有已知的实现?