@RetentionSE(valueSE=RUNTIMESE) @TargetSE(valueSE=FIELDSE) public @interface XmlEnumValue
Enum
SE 型の列挙型定数を XML 表現にマップします。使用方法
@XmlEnumValue
アノテーションは、次のプログラム要素で使用できます。
追加の共通情報については、jakarta.xml.bind.package javadoc の「パッケージ仕様」を参照してください。
このアノテーションは、XmlEnum
とともに、列挙型から XML 表現へのマッピングを提供します。
列挙型は、列挙ファセットを持つスキーマ単純型にマップされます。スキーマ型は、@XmlEnum.value()
で指定された Java 型から派生します。各列挙型定数 @XmlEnumValue
には、型 @XmlEnum.value()
の有効な字句表現が必要です。
このアノテーションがない場合、Enum.name()
SE が 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>
public abstract StringSE value
Copyright © 2018,2020 Eclipse Foundation.
Use is subject to license terms.