1

Apache XMLBeans 可用于从 XML 模式定义文件 (XSD) 生成 Java 类和接口。它还根据 StringEnumAbstractBase 和 StringEnumAbstractBase.Table 生成枚举来表示域值。它们对于仅输入有效值很方便。但是,我想获取所有这些值来生成 JCombobox、JTable 或 html 表。

是否有 XMLBeans API 调用来从生成的类中获取所有 Enum 值?唯一可用的选择是某种 Java 反射吗?

谢谢

4

2 回答 2

3

这对我有用:

for (int i = 1; i <= MyEnum.Enum.table.lastInt(); i++) 
{
  System.out.println(MyEnum.Enum.forInt(i));
}
于 2008-12-05T15:00:08.750 回答
2

这是另一种获取方式:

public static List<String> getEnumValueList(XmlString xmlString){
    List<String> values = new ArrayList<String>();
    SchemaStringEnumEntry valArr[] = xmlString.schemaType().getStringEnumEntries();
    for(SchemaStringEnumEntry val : valArr){
        values.add(val.getString());
    }
    return values;
}

因此,要获取 ModelType 的枚举值列表,我执行以下操作:

getEnumValueList(ModelType.Factory.newInstance());
于 2009-08-31T17:27:23.077 回答