1
需要有生成的枚舉類是這樣的:是否可以使用JAXB2將枚舉與字符串值進行映射?
public enum FileTypes {
TEXT("txt");
DOC("doc");
ENTERPRISE_ARCHIVE("ear");
}
是否有可能產生枚舉這樣使用JAXB?
需要有生成的枚舉類是這樣的:是否可以使用JAXB2將枚舉與字符串值進行映射?
public enum FileTypes {
TEXT("txt");
DOC("doc");
ENTERPRISE_ARCHIVE("ear");
}
是否有可能產生枚舉這樣使用JAXB?
您需要使用typesafeEnumClass綁定。
有一個命名約定,你給你的枚舉後綴「Enum」。
給每個爲xsd:枚舉值(字符串值是文字說明)一個xsd:註釋specifiying了Java枚舉值如下:
<xsd:enumeration value="ear">
<xsd:annotation>
<xsd:appinfo>
<jaxb:typesafeEnumMember name="ENTERPRISE_ARCHIVE" />
</xsd:appinfo>
</xsd:annotation>
</xsd:enumeration>
然後修改您的bindings.xjb文件內容如下,以使所有XSD定義的類型,其名稱結束與枚舉成爲一個Java枚舉與typesafeEnumClass結合:
<bindings node="//xs:simpleType[substring(@name,string-length(@name)-3) = 'Enum']" multiple="true" required="false">
<typesafeEnumClass />
</bindings>