Apache XMLBeans 可用于从 XML 模式定义文件 (XSD) 生成 Java 类和接口。它还根据 StringEnumAbstractBase 和 StringEnumAbstractBase.Table 生成枚举来表示域值。它们对于仅输入有效值很方便。但是,我想获取所有这些值来生成 JCombobox、JTable 或 html 表。
是否有 XMLBeans API 调用来从生成的类中获取所有 Enum 值?唯一可用的选择是某种 Java 反射吗?
谢谢
这对我有用:
for (int i = 1; i <= MyEnum.Enum.table.lastInt(); i++)
{
System.out.println(MyEnum.Enum.forInt(i));
}
这是另一种获取方式:
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());