<xs:simpleType name="mathEnum">
<xs:annotation>
<xs:documentation>some documentation</xs:documentation>
<xs:appinfo>
<typesafeEnumClass>
<typesafeEnumMember name="MULTIPLY" value="M" />
<typesafeEnumMember name="DIVIDE" value="D" />
</typesafeEnumClass>
</xs:appinfo>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="M" />
<xs:enumeration value="D" />
</xs:restriction>
</xs:simpleType>
Выше я использую для создания java файл из XSD. После выполнения команды "xj c" я вижу, что ниже генерируется класс.
@XmlType(name = "mathEnum")
@XmlEnum
public enum MathEnum {
M,
D;
public String value() {
return name();
}
public static MathEnum fromValue(String v) {
return valueOf(v);
}
}
Если вы видите имя переменной enum, я объявил "MULTIPLY" и "DIVIDE", которые не появились после генерация файла класса. Я хочу, чтобы файл класса генерировался следующим образом.
@XmlType(name = "mathEnum")
@XmlEnum
public enum MathEnum {
MULTIPLYE("M"),
DIVIDE("D");
String value = "";
private MathEnum(String val) {
value = val;
}
public String getValue() {
return value;
}
public static MathEnum findByValue(String value) {
if (MULTIPLYE.getValue().equals(value)) {
return MULTIPLYE;
}else{
return DIVIDE;
}
}
}
Есть ли способ сделать это? Что-то, что я делаю неправильно? Я новичок в этом.