アノテーション型 XmlElements
@RetentionSE(RUNTIMESE) @TargetSE({FIELDSE,METHODSE}) public @interface XmlElements
複数の @
XmlElement
アノテーションのコンテナー。プログラム要素に同じ型の複数のアノテーションを付けることはできません。このアノテーションは、次のように複数の @XmlElements のコンテナーアノテーションとして機能します。@XmlElements({ @XmlElement(...),@XmlElement(...) })
@XmlElements
アノテーションは、次のプログラム要素で使用できます。- JavaBean プロパティ
- 非静的、非一時的なフィールド
使用方法
使用箇所には、次の制約があります。
- このアノテーションは、次のアノテーションとともに使用できます: @
XmlIDREF
、@XmlElementWrapper
。 - @XmlIDREF が JavaBean プロパティでも指定されている場合、各 @XmlElement.type() には、
@XmlID
アノテーションが付けられた JavaBean プロパティが含まれている必要があります。
追加の共通情報については、jakarta.xml.bind.package javadoc の「パッケージ仕様」を参照してください。
例 1: 要素のリストにマップする
// Mapped code fragment public class Foo { @XmlElements( @XmlElement(name="A", type=Integer.class), @XmlElement(name="B", type=Float.class) ) public List items; }
<!-- XML Representation for a List of {1,2.5} XML output is not wrapped using another element --> ... <A> 1 </A> <B> 2.5 </B> ... <!-- XML Schema fragment --> <xs:complexType name="Foo"> <xs:sequence> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element name="A" type="xs:int"/> <xs:element name="B" type="xs:float"/> <xs:choice> </xs:sequence> </xs:complexType>
例 2: 別の要素でラップされた要素のリストにマップします
// Mapped code fragment public class Foo { @XmlElementWrapper(name="bar") @XmlElements( @XmlElement(name="A", type=Integer.class), @XmlElement(name="B", type=Float.class) } public List items; }
<!-- XML Schema fragment --> <xs:complexType name="Foo"> <xs:sequence> <xs:element name="bar"> <xs:complexType> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element name="A" type="xs:int"/> <xs:element name="B" type="xs:float"/> </xs:choice> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType>
例 3: アダプターを使用して、型に基づいて要素名を変更します。
class Foo { @XmlJavaTypeAdapter(QtoPAdapter.class) @XmlElements({ @XmlElement(name="A",type=PX.class), @XmlElement(name="B",type=PY.class) }) Q bar; } @XmlType abstract class P {...} @XmlType(name="PX") class PX extends P {...} @XmlType(name="PY") class PY extends P {...}
<!-- XML Schema fragment --> <xs:complexType name="Foo"> <xs:sequence> <xs:element name="bar"> <xs:complexType> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element name="A" type="PX"/> <xs:element name="B" type="PY"/> </xs:choice> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType>
- 導入:
- 1.6、JAXB 2.0
- 作成者:
- Kohsuke Kawaguchi, Sun Microsystems, Inc.
- Sekhar Vajjhala, Sun Microsystems, Inc.
- 関連事項:
XmlElement
,XmlElementRef
,XmlElementRefs
,XmlJavaTypeAdapter
必須定数のサマリー
必須要素 修飾子と型 必須要素 説明 XmlElement[]
value
@XmlElement
アノテーションのコレクション
要素の詳細
value
XmlElement[] value
@XmlElement
アノテーションのコレクション