@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 и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92