我使用org.apache.cxf生成java類文件:cxf-xjc-plugin from xsd。我正在使用全局綁定typesafeEnumMemberName="generateName"
,所以當插件無法爲枚舉成員創建有效的Java標識符時,插件會爲枚舉類生成成員名稱。我可以修改typesafeEnumMemberName生成的bij cxf-xjc-plugin嗎?
我的問題是:
有沒有辦法改變這些類型安全枚舉成員名的生成方式?
例如,修改它以包含值?這樣,會員代表價值而不僅僅是一個遞增的數字。
附加信息:
的XSD我已經指定了以下簡單類型:
<xs:simpleType name="CodeBurgelijkeStaat">
<xs:annotation>
<xs:documentation>COD366_NEN</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="0">
<xs:annotation>
<xs:documentation>Onbekend</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="1">
<xs:annotation>
<xs:documentation>Ongehuwd en geen geregistreerd partner en nooit gehuwd of geregistreerd partner geweest</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
導致下面的類:
@XmlType(name = "CodeBurgelijkeStaat")
@XmlEnum
public enum CodeBurgelijkeStaat {
/**
* Onbekend
*
*/
@XmlEnumValue("0")
VALUE_1("0"),
/**
* Ongehuwd en geen geregistreerd partner en nooit gehuwd of geregistreerd partner geweest
*
*/
@XmlEnumValue("1")
VALUE_2("1");
private final String value;
CodeBurgelijkeStaat(String v) {
value = v;
}
public String value() {
return value;
}
public static CodeBurgelijkeStaat fromValue(String v) {
for (CodeBurgelijkeStaat c: CodeBurgelijkeStaat.values()) {
if (c.value.equals(v)) {
return c;
}
}
throw new IllegalArgumentException(v);
}
}
你找到一個解決辦法? – FkJ