2016-05-06 9 views
0

Ich hatte einige Probleme beim Importieren einer WSDL, die eine XSD mit numerischen enums haben.JAXB: Ist typesafeEnumMemberName = "generateName" anpassbar?

Hinzufügen typesafeEnumMemberName = "generateName" meiner globalen Bindungen gelöst, aber die erzeugten ENUM-Elemente sind sinnlos ...

Beispiel:

<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"); 

Statt VALUE_ + itemPosition, Ich möchte VALUE_ + itemValue haben, um zu vermeiden, dass der Entwickler einen Fehler macht.

die XSD Ändern ist keine Option, da ist es eine Regierung Standard und es gibt viele andere numerische Aufzählungen, einige mit Tausenden von Produkten ...

Ich bin mit der cxf-CODEGEN-Plugin-Version 3.1.5 + krasa-jaxb-tools 1.4

Ist es möglich?

Dank

Antwort

0

Ich vermisste die fromValue Methode, die mit den Aufzählungen erzeugt wird.

Statt GeneratedEnum.VALUE_<<itemPosition>> zu tun,

ich GeneratedEnum.fromValue("<<itemValue>>") kann.