Ho un sacco di classi Java di terze parti che utilizzano nomi di proprietà diverse per quello che sono essenzialmente la stessa proprietà:nomi di proprietà di fagioli Canonicalizing 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);
}
mi piacerebbe essere in grado di affrontare questi in un modulo canonicalized, in modo che io possa trattare polimorfico, e in modo che io possa fare cose con Apache BeanUtils piace:
PropertyUtils.copyProperties(object1,object2);
Chiaramente sarebbe banale scrivere un adattatore per ogni classe ...
public class CanonicalizedBar implements CanonicalizedBazBean {
public String getReferenceID() {
return this.delegate.getRefID();
}
// etc.
}
Ma mi chiedo se ci sia qualcosa di più generalizzato e dinamico? Qualcosa che richiederebbe una mappa uno-a-molti delle equivalenze dei nomi delle proprietà e una classe delegata e produrrebbe l'adattatore?
Grazie. Sembra fare il lavoro esatto senza stadi intermedi indesiderati. – slim