我们有一个POJO自动生成了约60个属性,这是由avro 1.4生成的,它没有包括getter/setter方法。
我们使用的库提供对象之间的简单转换,但需要getter/setter方法才能正常工作。
是否有一种方法可以不必手动重写POJO并创建所有getter/setter方法就能复制getter/setter方法?
我们使用的库提供对象之间的简单转换,但需要getter/setter方法才能正常工作。
是否有一种方法可以不必手动重写POJO并创建所有getter/setter方法就能复制getter/setter方法?
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 ... };
}
希望编写看起来像这样的代码:
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");