@Retention(value=RUNTIME) @Target(value={FIELD,METHOD}) public @interface XmlElementWrapper
Generates a wrapper element around XML representation. This is primarily intended to be used to produce a wrapper XML element around collections. The annotation therefore supports two forms of serialization shown below.
//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>
The two serialized XML forms allow a null collection to be represented either by absence or presence of an element with a nillable attribute.
Usage
The @XmlElementWrapper
annotation can be used with the following program elements:
The usage is subject to the following constraints:
XmlElement
, XmlElements
, XmlElementRef
, XmlElementRefs
, XmlJavaTypeAdapter
.See "Package Specification" in javax.xml.bind.package javadoc for additional common information.
XmlElement
, XmlElements
, XmlElementRef
, XmlElementRefs
public abstract String name
Name of the XML wrapper element. By default, the XML wrapper element name is derived from the JavaBean property name.
public abstract String namespace
XML target namespace of the XML wrapper element.
If the value is "##default", then the namespace is determined as follows:
XmlSchema
annotation, and its elementFormDefault
is QUALIFIED
, then the namespace of the enclosing class. public abstract boolean nillable
If true, the absence of the collection is represented by using xsi:nil='true'
. Otherwise, it is represented by the absence of the element.
public abstract boolean required
Customize the wrapper element declaration to be required.
If required() is true, then the corresponding generated XML schema element declaration will have minOccurs="1"
, to indicate that the wrapper element is always expected.
Note that this only affects the schema generation, and not the unmarshalling or marshalling capability. This is simply a mechanism to let users express their application constraints better.
© 1993–2017, 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.