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