JavaTM Platform
Standard Ed. 6

javax.xml.bind.annotation
주석형 XmlElements



@Retention (value =RUNTIME )
@Target (value ={FIELD ,METHOD })
public @interface XmlElements

복수 @XmlElement 주석의 컨테이너입니다. 1 개의 프로그램 요소에 대한 같은 형태의 복수의 주석은 허가되고 있지 않습니다. 그 때문에, 복수의 @XmlElements 의 컨테이너 주석으로서 이 주석은 다음과 같이 사용됩니다.

 @XmlElements({ @XmlElement(...), @XmlElement(...) })
 

@XmlElements 주석은, 다음의 프로그램 요소로 사용할 수 있습니다.

이 주석은, JavaBean 컬렉션 프로퍼티 (List 등)에의 주석으로서 의도되고 있습니다.

사용법

사용에는 다음의 제약이 있습니다.

추가의 일반적인 정보에 대해서는, javax.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 -->
    ...
     1  
     2.5 
    ...

    <! -- 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>
 

도입된 버젼:
JAXB2. 0
관련 항목:
XmlElement , XmlElementRef , XmlElementRefs , XmlJavaTypeAdapter

필수 요소의 개요
 XmlElement [] value
           
 

요소의 상세

value

public abstract XmlElement [] value

JavaTM Platform
Standard Ed. 6

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.