Top Description Methods
javax.xml.bind.annotation

public @Interface XmlElementWrapper

extends Annotation
Annotations
@Retention:RUNTIME
@Target:FIELD, METHOD
Imports
javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter, java.lang.annotation.Retention, .Target

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:

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

Author
Since
1.6, JAXB 2.0
See Also
XmlElement, XmlElements, XmlElementRef, XmlElementRefs

Method Summary

Modifier and TypeMethod and Description
public String
name()

Name of the XML wrapper element.

public String
namespace()

XML target namespace of the XML wrapper element.

public boolean
nillable()

If true, the absence of the collection is represented by using xsi:nil='true'.

public boolean
required()

Customize the wrapper element declaration to be required.

Inherited from java.lang.annotation.Annotation:
annotationTypeequalshashCodetoString

Method Detail

nameback to summary
public String name()

Name of the XML wrapper element. By default, the XML wrapper element name is derived from the JavaBean property name.

namespaceback to summary
public String namespace()

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 XmlSchema annotation, and its elementFormDefault is QUALIFIED, then the namespace of the enclosing class.
  2. Otherwise "" (which produces unqualified element in the default namespace.
nillableback to summary
public 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.

requiredback to summary
public 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.

Since
1.6, JAXB 2.1