@Retention(value=RUNTIME)
@Target(value={FIELD,METHOD})
public @interface XmlElementWrapper
//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 jakarta.xml.bind.package javadoc for additional common information.
XmlElement
,
XmlElements
,
XmlElementRef
,
XmlElementRefs
Modifier and Type | Optional Element and Description |
---|---|
java.lang.String |
name
Name of the XML wrapper element.
|
java.lang.String |
namespace
XML target namespace of the XML wrapper element.
|
boolean |
nillable
If true, the absence of the collection is represented by
using
xsi:nil='true' . |
boolean |
required
Customize the wrapper element declaration to be required.
|
public abstract java.lang.String name
public abstract java.lang.String namespace
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
xsi:nil='true'
. Otherwise, it is represented by
the absence of the element.public abstract boolean 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.