Spec-Zone .ru
спецификации, руководства, описания, API
|
@Retention(value=RUNTIME) @Target(value={FIELD,METHOD}) public @interface XmlElements
Контейнер для многократногоXmlElement
аннотации. Многократные аннотации того же самого типа не позволяются на элементе программы. Эта аннотация поэтому служит контейнерной аннотацией для многократного @XmlElements следующим образом:
@XmlElements({ @XmlElement(...),@XmlElement(...) })
@XmlElements annnotation может использоваться со следующими элементами программы:
Использование
Использование подвергается следующим ограничениям:
XmlIDREF
, @XmlElementWrapper
. См. "Спецификацию Пакета" в 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 --> ... <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>
XmlElement
, XmlElementRef
, XmlElementRefs
, XmlJavaTypeAdapter
Модификатор и Тип | Необходимый Элемент и Описание |
---|---|
XmlElement[] |
значение
Набор
XmlElement аннотации |
public abstract XmlElement[] value
XmlElement
аннотации
Для дальнейшей ссылки API и документации разработчика, см.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.