アノテーション型 XmlEnumValue
@RetentionSE(RUNTIMESE) @TargetSE(FIELDSE) public @interface XmlEnumValue
Enum
SE 型の列挙型定数を XML 表現にマップします。使用方法
@XmlEnumValue
アノテーションは、次のプログラム要素で使用できます。- 列挙定数
追加の共通情報については、jakarta.xml.bind.package javadoc の「パッケージ仕様」を参照してください。
このアノテーションは、
XmlEnum
とともに、列挙型から XML 表現へのマッピングを提供します。列挙型は、列挙ファセットを持つスキーマ単純型にマップされます。スキーマ型は、
@XmlEnum.value()
で指定された Java 型から派生します。各列挙型定数@XmlEnumValue
には、型@XmlEnum.value()
の有効な字句表現が必要です。このアノテーションがない場合、
Enum.name()
が XML 表現として使用されます。例 1: 列挙型定数名のマップ -> 列挙型ファセット
//Example: Code fragment @XmlEnum(String.class) public enum Card { CLUBS, DIAMONDS, HEARTS, SPADES }
<!-- Example: XML Schema fragment --> <xs:simpleType name="Card"> <xs:restriction base="xs:string"/> <xs:enumeration value="CLUBS"/> <xs:enumeration value="DIAMONDS"/> <xs:enumeration value="HEARTS"/> <xs:enumeration value="SPADES"/> </xs:simpleType>
例 2: 列挙型定数の名前(値)をマップ -> 列挙型ファセット
//Example: code fragment @XmlType @XmlEnum(Integer.class) public enum Coin { @XmlEnumValue("1") PENNY(1), @XmlEnumValue("5") NICKEL(5), @XmlEnumValue("10") DIME(10), @XmlEnumValue("25") QUARTER(25) }
<!-- 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>
例 3: 列挙型定数名のマップ -> 列挙型ファセット
//Code fragment @XmlType @XmlEnum(Integer.class) public enum Code { @XmlEnumValue("1") ONE, @XmlEnumValue("2") TWO; }
<!-- Example: XML Schema fragment --> <xs:simpleType name="Code"> <xs:restriction base="xs:int"> <xs:enumeration value="1"/> <xs:enumeration value="2"/> </xs:restriction> </xs:simpleType>
- 導入:
- 1.6、JAXB 2.0
要素の詳細
value
StringSE value