Package org.simpleframework.xml
Annotation Interface Element
The
Element
annotation is used to represent a field
or method that appears as an XML element. Fields or methods that
are annotated with this can be either primitive or compound, that
is, represent an object that can be serialized and deserialized.
Below is an example of the serialized format for a compound object.
If this annotates a type that contains no XML annotations then
this will look for a suitable Transform
for the type
using the Transformer
. For instance, all primitives
and primitive arrays that are annotated with this will make use
of a transform in order to convert its value to and from suitable
XML representations.
<example class="demo.Example"> <data/> <example>Each element may have any number of attributes and sub-elements representing fields or methods of that compound object. Attribute and element names can be acquired from the annotation or, if the annotation does not explicitly declare a name, it is taken from the annotated field or method. There are exceptions in some cases, for example, the
class
attribute is reserved by the
serialization framework to represent the serialized type.-
Optional Element Summary
Optional ElementsModifier and TypeOptional ElementDescriptionboolean
This is used to determine whether the element data is written in a CDATA block or not.This represents the name of the XML element.boolean
Determines whether the element is required within the XML document.This represents an explicit type that should be used for the annotated field or method.
-
Element Details
-
name
String nameThis represents the name of the XML element. Annotated fields can optionally provide the name of the element. If no name is provided then the name of the annotated field or method will be used in its place. The name is provided if the field or method name is not suitable as an XML element name.- Returns:
- the name of the XML element this represents
- Default:
""
-
data
boolean dataThis is used to determine whether the element data is written in a CDATA block or not. If this is set to true then the text is written within a CDATA block, by default the text is output as escaped XML. Typically this is useful for primitives only.- Returns:
- true if the data is to be wrapped in a CDATA block
- Default:
false
-
required
boolean requiredDetermines whether the element is required within the XML document. Any field marked as not required will not have its value set when the object is deserialized. If an object is to be serialized only a null attribute will not appear as XML.- Returns:
- true if the element is required, false otherwise
- Default:
true
-
type
Class typeThis represents an explicit type that should be used for the annotated field or method. Typically this is used when the element forms part of a union group. It allows the union to distinguish the annotation to use based on the type.- Returns:
- this returns the explicit type to use for this
- Default:
void.class
-