Package org.simpleframework.xml
Annotation Type Element
-
@Retention(RUNTIME) public @interface Element
TheElement
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 theTransformer
. 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, theclass
attribute is reserved by the serialization framework to represent the serialized type.- Author:
- Niall Gallagher
-
-
Optional Element Summary
Optional Elements Modifier and Type Optional Element Description boolean
data
This is used to determine whether the element data is written in a CDATA block or not.java.lang.String
name
This represents the name of the XML element.boolean
required
Determines whether the element is required within the XML document.java.lang.Class
type
This represents an explicit type that should be used for the annotated field or method.
-
-
-
Element Detail
-
name
java.lang.String name
This 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 data
This 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 required
Determines 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
java.lang.Class type
This 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
-
-