从类中的静态变量生成java代码

时间:2017-12-21 05:32:12

标签: java gradle code-generation

我的代码实际上是这样的:

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,它似乎可以处理通过数据类型而非实际数据提供的数据。

0 个答案:

没有答案