Spec-Zone.ru › OpenJDK 8

Тип аннотации XmlElement


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

Сопоставляет свойство JavaBean с XML-элементом, полученным из имени свойства.

Использование

@XmlElement аннотация может использоваться со следующими элементами программы:

  • свойством JavaBean
  • нестатическим, непеременным полем
  • внутри XmlElements
Использование ограничено следующими условиями:
  • Эта аннотация может использоваться со следующими аннотациями: XmlID, XmlIDREF, XmlList, XmlSchemaType, XmlValue, XmlAttachmentRef, XmlMimeType, XmlInlineBinaryData, XmlElementWrapper, XmlJavaTypeAdapter
  • если тип свойства JavaBean — это коллекция, массив, индексированное свойство или параметризованный список, и эта аннотация используется с XmlElements, то @XmlElement.type() должно быть DEFAULT.class, так как тип элемента коллекции уже известен.

Свойство JavaBean, снабжённое аннотацией @XmlElement, сопоставляется с локальным элементом в XML Schema-комплексном типе, к которому сопоставлен содержащий класс.

Пример 1: Сопоставление публичного, нестатического, нефинального поля с локальным элементом

//Example: Code fragment
     public class USPrice {
         @XmlElement(name="itemprice")
         public java.math.BigDecimal price;
     }

     <!-- Example: Local XML Schema element -->
     <xs:complexType name="USPrice"/>
       <xs:sequence>
         <xs:element name="itemprice" type="xs:decimal" minOccurs="0"/>
       </sequence>
     </xs:complexType>

Пример 2: Сопоставление поля с ниль-элементом.

//Example: Code fragment
     public class USPrice {
         @XmlElement(nillable=true)
         public java.math.BigDecimal price;
     }

     <!-- Example: Local XML Schema element -->
     <xs:complexType name="USPrice">
       <xs:sequence>
         <xs:element name="price" type="xs:decimal" nillable="true" minOccurs="0"/>
       </sequence>
     </xs:complexType>

Пример 3: Сопоставление поля с ниль-элементом, требующим значения.

//Example: Code fragment
     public class USPrice {
         @XmlElement(nillable=true, required=true)
         public java.math.BigDecimal price;
     }

     <!-- Example: Local XML Schema element -->
     <xs:complexType name="USPrice">
       <xs:sequence>
         <xs:element name="price" type="xs:decimal" nillable="true" minOccurs="1"/>
       </sequence>
     </xs:complexType>

Пример 4: Сопоставление свойства JavaBean с XML-элементом с анонимным типом.

См. пример 6 в @XmlType.

С момента:
JAXB2.0

Дополнительные элементы

Модификатор и тип Дополнительный элемент и описание
String defaultValue

Значение по умолчанию этого элемента.

String name

Имя XML-схемного элемента.

String namespace

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

boolean nillable

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

boolean required

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

Class type

Класс Java, на который есть ссылка.

Элементы

name

public abstract String name

Имя XML-схемного элемента.

Если значение равно "##default", имя элемента определяется из имени свойства JavaBean.

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

nillable

public abstract boolean nillable

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

Если nillable() равно true, свойство JavaBean сопоставляется с объявлением ниль-элемента XML Schema.

По умолчанию:
false

required

public abstract boolean required

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

Если required() равно true, свойство JavaBean сопоставляется с объявлением элемента XML Schema с minOccurs="1". maxOccurs — "1" для однозначных свойств и "unbounded" для многозначных.

Если required() равно false, свойство JavaBean сопоставляется с объявлением элемента XML Schema с minOccurs="0". maxOccurs — "1" для однозначных свойств и "unbounded" для многозначных.

По умолчанию:
false

namespace

public abstract String namespace

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

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

  1. Если у содержащего пакета есть аннотация XmlSchema, и его elementFormDefault — QUALIFIED, то пространство имён — пространства имён содержащего класса.
  2. В противном случае — пустое (что даёт неквалифицированный элемент в пространстве имён по умолчанию).
По умолчанию:
"##default"

defaultValue

public abstract String defaultValue

Значение по умолчанию этого элемента.

Значение, указанное в качестве значения по умолчанию этого элемента аннотации, используется как эвристическое замещение для null, чтобы реализации могли распознать состояние "нет значения по умолчанию".

По умолчанию:
"\u0000"

type

public abstract Class type

Класс Java, на который есть ссылка.

По умолчанию:
javax.xml.bind.annotation.XmlElement.DEFAULT.class

© 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