tôi có một loạt các lớp Java của bên thứ ba sử dụng tên thuộc tính khác nhau cho những gì cơ bản đều giống nhau bất động sản:Canonicalizing Java tên thuộc tính đậu
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);
}
Tôi muốn để có thể giải quyết vấn đề này trong một hình thức canonicalized, vì vậy mà tôi có thể đối xử với họ polymorphically, và vì vậy mà tôi có thể làm mọi thứ với Apache BeanUtils thích:
PropertyUtils.copyProperties(object1,object2);
rõ ràng nó sẽ là tầm thường để viết một adapter cho mỗi lớp ...
public class CanonicalizedBar implements CanonicalizedBazBean {
public String getReferenceID() {
return this.delegate.getRefID();
}
// etc.
}
Nhưng tôi tự hỏi có điều gì đó ở đó tổng quát hơn và năng động hơn không? Cái gì đó sẽ có một bản đồ một-nhiều bản tương đương tên thuộc tính, và một lớp đại biểu, và sản xuất Adapter?
Cảm ơn. Dường như thực hiện công việc chính xác mà không có các giai đoạn trung gian không mong muốn. – slim