Apache XMLBeans可用于从XML架构定义文件(XSD)生成Java类和接口。它还基于StringEnumAbstractBase和StringEnumAbstractBase.Table生成枚举以表示域值。它们只能输入有效值。但是,我希望获得所有这些值来生成JCombobox,JTable或html表。
是否有XMLBeans API调用从生成的类中获取所有Enum值? 是唯一可以选择某种Java反射的选择吗?
由于
答案 0 :(得分:3)
这对我有用:
for (int i = 1; i <= MyEnum.Enum.table.lastInt(); i++)
{
System.out.println(MyEnum.Enum.forInt(i));
}
答案 1 :(得分: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());