2016-05-06 32 views
0

我有一些問題需要導入一個帶有數字枚舉的XSD的WSDL。JAXB:是typesafeEnumMemberName =「generateName」可定製?

添加typesafeEnumMemberName = 「generateName」到我的全局綁定解決了這個問題,但產生的枚舉的項目是沒有意義的......

例子:

<simpleType name="dm_UF"> 
    <restriction base="string"> 
     <length value="2"/> 
     <enumeration value="50"/> 
     <enumeration value="51"/> 
     <enumeration value="52"/> 
     <enumeration value="53"/> 
     <enumeration value="98"/> 
    </restriction> 
</simpleType> 


@XmlEnumValue("50") 
VALUE_24("50"), 

@XmlEnumValue("51") 
VALUE_25("51"), 

@XmlEnumValue("52") 
VALUE_26("52"), 

@XmlEnumValue("53") 
VALUE_27("53"), 

@XmlEnumValue("98") 
VALUE_28("98"); 

而不是VALUE_ + itemPosition,我想要VALUE_ + itemValue以避免開發者犯一些錯誤。

更改XSD是不是一種選擇,因爲它是一個政府標準,還有很多其他數字枚舉的,有的用上千項...

我使用了CXF-CODEGEN插件版本3.1.5 + krasa-jaxb-tools 1.4

可能嗎?

由於

回答

0

我錯過與該枚舉產生的fromValue方法。

所以不是做GeneratedEnum.VALUE_<<itemPosition>>

我可以做GeneratedEnum.fromValue("<<itemValue>>")