[英]automatic casting and filling up POJO
想知道是否有任何方法可以重用某些Java反射API / SOAP / Web服務內部函數或外部API的內部函數來實現:
有通用的方法嗎?
例
void process(Object pojoToFill, Class[] classesOfSetters, Objects[] values) {
//what to do here to fill up pojoToFill with values using classesOfSetters, in a generic way?
}
void sample() {
Object []objects;// filled with values that are needed by Person class, sent over the wire, setters
Class []propertyClasses = new Class[String.class, Address.class]//from config
Person person = new Person();
process(person, propertyClasses, objects);
}
public class Person {
private String name;
private Address address;// etc
// getters and setters
}
class Address {
private String line1;// other properties and getters and setters
}
Java反射API應該可以做到這一點。
還為每個setter類傳遞setter方法名稱
void process(Object pojoToFill, Class[] classesOfSetters, String[] setterMethods, Objects[] values) {
for (int i=0; i < classesOfSetters.length; i++){
Method methodToSetValue = classesOfsetter.getMethod(setterMethods[i]);
methodToSetValue.invoke (pojoToFill, Objects[i]);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.