带有 XML Bean 的 Java 枚举?

标签 java enums xsd jaxb xmlbeans

使用 Apache XML Beans 时为了从 xsd:enumeration 类型生成类型,XMLBeans 生成自定义类,这些类不是 Java 5 枚举而是某种特殊类来表示枚举。

情况可能如此,因为 XMLBeans 早于 Java 5,并且当时没有枚举,或者您仍然希望保持 Java 1.4 兼容性。但是,我想获得“真正的”枚举类型,所以我的问题是:有没有一种方法可以使用 Apache XML Beans 生成 Java 5 枚举?

(Jaxb 按照我的意愿执行此操作,但我不确定是否要删除 XMLBeans 并仅针对该细节引入 Jaxb。)

最佳答案

我不认为您可以使用 XML bean 实现您想要的。你自己也提到了原因。我建议您转移到 JaxB。

但是如果您真的想继续使用 XML bean,我建议您打一个补丁。您可以对生成的类进行后处理并将它们转换为枚举。我过去使用 Ant 任务做过类似的事情。有 ant 任务知道执行字符串替换,所以这不是问题。在更坏的情况下,您可以在 java 中实现自己的任务。但我相信你没有。我认为这是最简单的解决方案。

祝你好运。

关于带有 XML Bean 的 Java 枚举?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4954709/

相关文章:

Java泛型,使用原始类的方法

python - 如何将字符串与python枚举进行比较?

java - 如何指示一个 Class 对象应该代表一个接口(interface)的子类型?

xml - XSD 断言无法识别

xml - XML 命名空间的这种用法是否正确?

java - 如何在axis2-java2wsdl-maven-plugin中指定地址位置?

java - 无法启动 Activity ComponentInfo (LOGCAT)

java - 在java中使用扫描仪在链表中搜索

java - Swift 中的高级 Java 枚举

arrays - 定义 XSD,使 XML 元素的类型为 ="array"