@Retention(value=RUNTIME)
public @interface ElementList
ElementList annotation represents a method or
field that is a Collection for storing elements. The
collection object deserialized is typically of the same type as
the field. However, a class attribute can be used to
override the field type, however the type must be assignable.
<list class="java.util.ArrayList">
<element name="one"/>
<element name="two"/>
<element name="three"/>
</list>
If a class attribute is not provided and the type or
the field or method is abstract, a suitable match is searched for
from the collections available from the Java collections framework.
This annotation can also compose an inline list of XML elements.
An inline list contains no parent or containing element.
<element name="one"/>
<element name="two"/>
<element name="three"/>
The above XML is an example of the output for an inline list of
XML elements. In such a list the annotated field or method must
not be given a name. Instead the name is acquired from the name of
the entry type. For example if the type attribute of
this was set to an object example.Entry then the name
of the element list would be taken as the root name of the object
as taken from the Root annotation for that object.| Modifier and Type | Optional Element and Description |
|---|---|
boolean |
data
This is used to determine whether the element data is written
in a CDATA block or not.
|
boolean |
inline
Determines whether the element list is inlined with respect
to the parent XML element.
|
java.lang.String |
name
This represents the name of the XML element.
|
java.lang.String |
parent
This is used to provide a parent XML element for each of the
values within the array.
|
boolean |
required
Determines whether the element is required within the XML
document.
|
java.lang.Class |
type
Represents the type of object the element list contains.
|
public abstract java.lang.String name
public abstract java.lang.String parent
public abstract java.lang.Class type
class attribute value for the list. If
this is not specified then the type can be determined from the
generic parameter of the annotated Collection.public abstract boolean data
public abstract boolean required
public abstract boolean inline