试图找到一种包装对象的方法,该方法是基于具有大量吸气剂和吸气剂的某些模型自动生成的。例如:
class ObjectToWrap {
public int getIntA();
public int getIntB();
... // Tons of other getters
}
我必须创建一个包装该对象的包装程序,并使用一些注释为我生成来自
ObjectToWrap
的方法。代码如下所示:class Wrapper {
private ObjectToWrap obj;
public int getIntA() {
return obj.getIntA();
}
public int getIntB() {
return obj.getIntB();
}
... // Tons of other getters
}
有注释可以做到这一点吗?我只是不想让代码看起来冗长。
最佳答案
看一下具有@Delegate批注的Lombok项目,它完全可以满足您的需求。
@Delegate documentation
我认为您可以做到这一点:
import lombok.Delegate;
class Wrapper {
//the types field in the annotation says
//to only auto generate deleagate methods
//for only the public methods in the ObjectToWrap class
//and not any parent classes if ObjectToWrap extended something
@Delegate(types = ObjectToWrap.class)
private ObjectToWrap obj;
}