Тип аннотации XmlElementWrapper
@Retention(value=RUNTIME)
@Target(value={FIELD,METHOD})
public @interface XmlElementWrapper Создаёт оберточный элемент вокруг XML-представления. В основном предназначен для создания оберточного XML-элемента вокруг коллекций. Поэтому аннотация поддерживает два формата сериализации, показанных ниже.
//Example: code fragment
int[] names;
// XML Serialization Form 1 (Unwrapped collection)
<names> ... </names>
<names> ... </names>
// XML Serialization Form 2 ( Wrapped collection )
<wrapperElement>
<names> value-of-item </names>
<names> value-of-item </names>
....
</wrapperElement>
Два формата сериализованного XML позволяют представлять нулевую коллекцию либо отсутствием элемента, либо наличием элемента с атрибутом nillable.
Использование
Аннотация @XmlElementWrapper может использоваться со следующими элементами программы:
- Свойство JavaBean
- Нестатическое, не транзитивное поле
Использование подчиняется следующим ограничениям:
- Свойство должно быть свойством коллекции
- Данная аннотация может использоваться со следующими аннотациями:
XmlElement,XmlElements,XmlElementRef,XmlElementRefs,XmlJavaTypeAdapter.
Дополнительную общую информацию см. в разделе «Спецификация пакета» в документации javax.xml.bind.
- С момента:
- JAXB2.0
- См. также:
-
XmlElement,XmlElements,XmlElementRef,XmlElementRefs
Краткое описание необязательных элементов
| Модификатор и тип | Необязательный элемент и описание |
|---|---|
String |
name Имя XML-оберточного элемента. |
String |
namespace Целевой XML-пространство имён XML-оберточного элемента. |
boolean |
nillable Если значение true, то отсутствие коллекции представлено с помощью |
boolean |
required Настройка объявления оберточного элемента как обязательного. |
Подробное описание элементов
name
public abstract String name
Имя XML-оберточного элемента. По умолчанию имя XML-оберточного элемента выводится из имени свойства JavaBean.
- По умолчанию:
- "##default"
namespace
public abstract String namespace
Целевое XML-пространство имён XML-оберточного элемента.
Если значение равно "##default", то пространство имён определяется следующим образом:
- Если у окружающего пакета есть аннотация
XmlSchema, а еёelementFormDefault—QUALIFIED, то используется пространство имён окружающего класса. - В противном случае "" (что приводит к неопределенному элементу в стандартном пространстве имён).
- По умолчанию:
- "##default"
nillable
public abstract boolean nillable
Если значение true, то отсутствие коллекции представлено с помощью xsi:nil='true'. В противном случае оно представлено отсутствием элемента.
- По умолчанию:
- false
required
public abstract boolean required
Настроить объявление оберточного элемента как обязательного.
Если required() равно true, то соответствующее сгенерированное объявление элемента XML-схемы будет иметь minOccurs="1", чтобы указать, что оберточный элемент всегда ожидается.
Обратите внимание, что это влияет только на генерацию схемы, а не на возможности разбора или кодирования. Это просто механизм, позволяющий пользователям лучше выражать ограничения своих приложений.
- С момента:
- JAXB 2.1
- По умолчанию:
- false
© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.