我的代码实际上是这样的:
class SomeClass {
public static class FieldDefn {
private String mName;
private Class<?> mClass;
public Field(String name, Class<?> clazz) {
mClass = clazz;
mName = name;
}
public String getName() {
return mName;
}
public Class<?> getDataClass() {
return mClass;
}
}
public static class Data {
private String mName;
private ArrayList<FieldDefn> mFields;
String getName() {
return mName;
}
List<FieldDefn> getFields() {
return mFields;
}
public Data addField(String name, Class<?> clazz) {
mFields.add(new FieldDefn(name, clazz);
}
}
private static Data mData1 =
new Data("D1")
.addField("f1", Integer.class)
.addField("f2", String.class);
}
我想使用Gradle(或java注释,或更好的东西)自动生成如下代码:
public class D1 extends AMoreFunctionalBaseClass {
private Integer mF1;
private String mF2;
public Integer getF1() {
return mF1;
}
public void setF1(Integer f1) {
mF1 = f1;
}
public String getF2() {
return mF2;
}
public void setF2(Integer f2) {
mF2 = f2;
}
}
有什么方法可以让Java和/或gradle为每个这样的状态定义生成这个代码?也许是通过注释?
注释和gradle似乎都有代码生成,但是从我看到的示例AFAICT,它似乎可以处理通过数据类型而非实际数据提供的数据。