基于规则集

时间:2015-08-26 11:45:48

标签: java

我尝试搜索任何现有的实现/库,但没有找到。有没有图书馆能做到这一点?是否有这种模式的名称(例如JavaBean访问者可能会这样?但通常访问的条目有访问方法或类似)

约束:

  • C1:POJO对象(只有get / setters,默认构造函数),可以是多种类型(10种类型)
  • C2:POJO的来源无法更改
  • C3:POJO嵌套了其他POJO(嵌套了POJO等)
  • C4:所有类型的通用规则集

我会根据一些规则(最好是分层规则系统)向系统输入一个对象并将其接收转换(“就地”要求不是那么关键)。

示例规则:

  • R1:通过在末尾添加内容来转换每个字符串
  • R2:如果等于“test”到“test2”
  • ,则转换每个String
  • R3:为每个整数添加1

规则应该应用于每个嵌套结构,所以假设我们有

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。

我最有可能最终编写自己的解决方案,但只是想问一下是否有已知的实现?

0 个答案:

没有答案