Wir haben ein POJO, das automatisch mit ~ 60 Eigenschaften generiert wird. Dies wird mit avro 1.4 generiert, das keine Getter / Setter enthält.
Eine Bibliothek, mit der wir einfache Transformationen zwischen Objekten bereitstellen, erfordert Getter / Setter-ähnliche Methoden, um ordnungsgemäß zu funktionieren.
Gibt es eine Möglichkeit, Getter / Setter zu replizieren, ohne das POJO manuell überschreiben und alle Getter / Setter manuell erstellen zu müssen?
public class BigGeneratedPojo {
public String firstField;
public int secondField;
...
public ComplexObject nthField;
}
public class OtherObject {
private String reprOfFirstFieldFromOtherObject;
private ComplexObject reprOfFirstFieldFromOtherObject;
public String getReprOfFirstFieldFromOtherObject() { ... standard impl ... };
public void setReprOfFirstFieldFromOtherObject() { ... standard impl ... };
}
Der Wunsch ist es, Code zu schreiben, der aussieht wie:
Mapper<BigGeneratedPojo, OtherObject> mapper =
MagicalMapperLibrary.mapperBuilder(BigGeneratedPojo.class, OtherObject.class)
.from(BigGeneratedPojo::getFirstField).to(OtherObject::reprOfFirstFieldFromOtherObject)
.build();
BigGeneratedPojo pojo = new BigGeneratedPojo();
pojo.firstField = "test";
OtherObject mappedOtherObj = mapper.map(pojo);
assertEquals(mappedOtherObj.getReprOfFirstFieldFromOtherObject(), "test");