我希望通过XSD定义枚举,如下所示:
public enum Coin {
@XmlEnumValue("1") PENNY(1),
@XmlEnumValue("5") NICKEL(5),
@XmlEnumValue("10") DIME(10),
@XmlEnumValue("25") QUARTER(25)
}
Oracle-description详细说明了这个样本;但是我看不到ENUMs" PENNY"," NICKEL"等等来自这个例子。
<!-- Example: XML Schema fragment -->
<xs:simpleType name="Coin">
<xs:restriction base="xs:int">
<xs:enumeration value="1"/>
<xs:enumeration value="5"/>
<xs:enumeration value="10"/>
<xs:enumeration value="25"/>
</xs:restriction>
</xs:simpleType>
答案 0 :(得分:0)
因为它出现在Oracle description中,所以java enum示例代码不完整(它缺少枚举的私有参数化构造函数,允许PENNY(1)
类型的声明)但用于说明目的使用通过@XmlEnumValue
注释
如此简单:
PENNY通过注释<xs:enumeration value="1"/>
映射到@XmlEnumValue("1")
PENNY(1)
类型的声明是对参数化构造函数的调用,允许您将值保存在枚举的字段中
NICKEL通过注释<xs:enumeration value="5"/>
映射到@XmlEnumValue("5")
PENNY(5)
类型的声明是对参数化构造函数的调用,允许您将值保存在枚举的字段中
同样的逻辑同样适用于其他值