org.simpleframework.xml
Annotation Type ElementListUnion
@Retention(value=RUNTIME)
public @interface ElementListUnion
The ElementListUnion
annotation is used to describe
fields and methods that can dynamically match a schema class. Each
union can have a number of different XML class schemas matched based
on an XML element name or the instance type. Here a collection of
element list annotations can be declared. Each annotation expresses
the types the list can accept. Taking the declaration below, if the
annotation is inline, the list can take a number of varying types
all determined from the XML element name.
@ElementListUnion({
@ElementList(entry="x", inline=true, type=X.class),
@ElementList(entry="y", inline=true, type=Y.class),
@ElementList(entry="z", inline=true, type=Z.class)
})
private List<Code> codes;
For the above definition the list field can take any of the declared
types. On deserialization the name of the element will determine the
type that is instantiated and inserted in to the list. When the list
is serialized the list entry instance type will determine the name
of the element the instance will serialized as. This provides a
useful means of consume more complicated sources.
- Author:
- Niall Gallagher
- See Also:
ElementList
Required Element Summary |
ElementList[] |
value
This provides the ElementList annotations that have
been defined for this union. |
value
public abstract ElementList[] value
- This provides the
ElementList
annotations that have
been defined for this union. Each element list describes the
XML class schema to use and the name of the XML element. This
allows the serialization process to determine which elements
map to the defined types. Also, the types define how the XML
is generated for a given instance.
- Returns:
- the element lists defined for the union declaration