JavaTM 2 Platform Std. Ed. v1.6.0
javax.xml.bind.annotation
Annotation Type XmlElement
@Retention(value=RUNTIME)
@Target(value={FIELD,METHOD})
public @interface XmlElement
Maps a JavaBean property to a XML element derived from property name.
Usage
@XmlElement annotation can be used with the following program
elements:
- a JavaBean property
- non static, non transient field
- within
XmlElements
The usage is subject to the following constraints:
- This annotation can be used with following annotations:
XmlID ,
XmlIDREF ,
XmlList ,
XmlSchemaType ,
XmlValue ,
XmlAttachmentRef ,
XmlMimeType ,
XmlInlineBinaryData ,
XmlElementWrapper ,
XmlJavaTypeAdapter
- if the type of JavaBean property is a collection type of
array, an indexed property, or a parameterized list, and
this annotation is used with
XmlElements then,
@XmlElement.type() must be DEFAULT.class since the
collection item type is already known.
A JavaBean property, when annotated with @XmlElement annotation
is mapped to a local element in the XML Schema complex type to
which the containing class is mapped.
Example 1: Map a public non static non final field to local
element
//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>
Example 2: Map a field to a nillable element.
//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>
Example 3: Map a field to a nillable, required element.
//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>
Example 4: Map a JavaBean property to an XML element
with anonymous type.
See Example 6 in @XmlType .
- Since:
- JAXB2.0
Optional Element Summary |
String |
defaultValue
Default value of this element. |
String |
name
Name of the XML Schema element. |
String |
namespace
XML target namespace of the XML Schema element. |
boolean |
nillable
Customize the element declaration to be nillable. |
boolean |
required
Customize the element declaration to be required. |
Class |
type
The Java class being referenced. |
name
public abstract String name
- Name of the XML Schema element.
If the value is "##default", then element name is derived from the
JavaBean property name.
- Default:
- "##default"
nillable
public abstract boolean nillable
- Customize the element declaration to be nillable.
If nillable() is true, then the JavaBean property is
mapped to a XML Schema nillable element declaration.
- Default:
- false
required
public abstract boolean required
- Customize the element declaration to be required.
If required() is true, then Javabean property is mapped to
an XML schema element declaration with minOccurs="1".
maxOccurs is "1" for a single valued property and "unbounded"
for a multivalued property.
If required() is false, then the Javabean property is mapped
to XML Schema element declaration with minOccurs="0".
maxOccurs is "1" for a single valued property and "unbounded"
for a multivalued property.
- Default:
- false
namespace
public abstract String namespace
- XML target namespace of the XML Schema element.
If the value is "##default", then the namespace is determined
as follows:
-
If the enclosing package has
XmlSchema annotation,
and its elementFormDefault
is QUALIFIED , then the namespace of
the enclosing class.
-
Otherwise "" (which produces unqualified element in the default
namespace.
- Default:
- "##default"
defaultValue
public abstract String defaultValue
- Default value of this element.
The ' ' value specified as a default of this annotation element
is used as a poor-man's substitute for null to allow implementations
to recognize the 'no default value' state.
- Default:
- "\u0000"
type
public abstract Class type
- The Java class being referenced.
- Default:
- javax.xml.bind.annotation.XmlElement.DEFAULT.class
Copyright 2003 Sun Microsystems, Inc. All rights reserved
|