FileDocCategorySizeDatePackage
XmlElementWrapper.javaAPI DocJava SE 6 API3846Tue Jun 10 00:27:04 BST 2008javax.xml.bind.annotation

XmlElementWrapper

public class 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:

  • JavaBean property
  • non static, non transient field

The usage is subject to the following constraints:

  • The property must be a collection property
  • This annotation can be used with the following annotations: {@link XmlElement}, {@link XmlElements}, {@link XmlElementRef}, {@link XmlElementRefs}, {@link XmlJavaTypeAdapter}
  • .

See "Package Specification" in javax.xml.bind.package javadoc for additional common information.

author
  • Kohsuke Kawaguchi, Sun Microsystems, Inc.
  • Sekhar Vajjhala, Sun Microsystems, Inc.
see
XmlElement
see
XmlElements
see
XmlElementRef
see
XmlElementRefs
since
JAXB2.0

Fields Summary
Constructors Summary
Methods Summary
java.lang.Stringname()
Name of the XML wrapper element. By default, the XML wrapper element name is derived from the JavaBean property name.

java.lang.Stringnamespace()
XML target namespace of the XML wrapper element.

If the value is "##default", then the namespace is determined as follows:

  1. If the enclosing package has {@link XmlSchema} annotation, and its {@link XmlSchema#elementFormDefault() elementFormDefault} is {@link XmlNsForm#QUALIFIED QUALIFIED}, then the namespace of the enclosing class.
  2. Otherwise "" (which produces unqualified element in the default namespace.

booleannillable()
If true, the absence of the collection is represented by using xsi:nil='true'. Otherwise, it is represented by the absence of the element.

booleanrequired()
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.

since
JAXB 2.1