Spec-Zone.ru › OpenJDK 8

Тип аннотации 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, то отсутствие коллекции представлено с помощью xsi:nil='true'.

boolean required

Настройка объявления оберточного элемента как обязательного.

Подробное описание элементов

name

public abstract String name

Имя XML-оберточного элемента. По умолчанию имя XML-оберточного элемента выводится из имени свойства JavaBean.

По умолчанию:
"##default"

namespace

public abstract String namespace

Целевое XML-пространство имён XML-оберточного элемента.

Если значение равно "##default", то пространство имён определяется следующим образом:

  1. Если у окружающего пакета есть аннотация XmlSchema, а её elementFormDefault — QUALIFIED, то используется пространство имён окружающего класса.
  2. В противном случае "" (что приводит к неопределенному элементу в стандартном пространстве имён).
По умолчанию:
"##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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API