Java Sun CodeModel-如何使用多个参数创建枚举

Java Sun CodeModel-如何使用多个参数创建枚举,java,sun-codemodel,Java,Sun Codemodel,我想使用Sun的codemodel创建一个类似于以下代码段的枚举类 public enum REPORT_COLUMNS { MONTH("month", true, false), DAY("day", false, true); private final String column; private final boolean filterable; private final boolean includeInHavingClause;

我想使用Sun的codemodel创建一个类似于以下代码段的枚举类

public enum REPORT_COLUMNS {

    MONTH("month", true, false),
    DAY("day", false, true);

    private final String column;
    private final boolean filterable;
    private final boolean includeInHavingClause;

    private REPORT_COLUMNS(String column, boolean filterable, boolean includeInHavingClause) {
        this.column = column;
        this.filterable = filterable;
        this.includeInHavingClause = includeInHavingClause;
    }

    public String getColumn() {
        return column;
    }

    public boolean isFilterable() {
        return filterable;
    }

    public boolean includeInHavingClause() {
        return includeInHavingClause;
    }
}

我能够为枚举的构造函数、字段和getter方法生成代码。但是,我无法用三个值初始化枚举常量。JDefinedClass有一个方法enumConstant,它只接受enum常量的名称作为参数。我也阅读了JEnumConstant类的文档,但找不到任何可以向枚举常量添加三个值的内容。

您可以将JEnumConstant.arg与Jexpr.lit一起使用

    JEnumConstant enumMonth = definedClass.enumConstant("MONTH");
    enumMonth.arg(lit("month"));
    enumMonth.arg(lit(true));
    enumMonth.arg(lit(false));

我为此编写了一些示例代码,在这里查看完整的示例:

您可以将JEnumConstant.arg与Jexpr.lit一起使用

    JEnumConstant enumMonth = definedClass.enumConstant("MONTH");
    enumMonth.arg(lit("month"));
    enumMonth.arg(lit(true));
    enumMonth.arg(lit(false));
我为此编写了一些示例代码,请在此处查看完整示例:

更新的github url:updated的github url: