我有一堆第三方 Java 类,它们对本质上相同的属性使用不同的属性名称:
public class Foo {
public String getReferenceID();
public void setReferenceID(String id);
public String getFilename();
public void setFilename(String fileName);
}
public class Bar {
public String getRefID();
public void setRefID(String id);
public String getFileName();
public void setFileName(String fileName);
}
我希望能够以规范化的形式解决这些问题,这样我就可以多态地对待它们,这样我就可以用 Apache BeanUtils 做一些事情,比如:
PropertyUtils.copyProperties(object1,object2);
显然,为每个类编写一个适配器是微不足道的......
public class CanonicalizedBar implements CanonicalizedBazBean {
public String getReferenceID() {
return this.delegate.getRefID();
}
// etc.
}
但我想知道那里有更普遍和动态的东西吗?需要属性名称等价的一对多映射和委托类并生成适配器的东西?