Package org.simpleframework.xml.core
Class CompositeArray
java.lang.Object
org.simpleframework.xml.core.CompositeArray
- All Implemented Interfaces:
Converter
The
CompositeArray
object is used to convert a list of
elements to an array of object entries. This in effect performs a
root serialization and deserialization of entry elements for the
array object. On serialization each objects type must be checked
against the array component type so that it is serialized in a form
that can be deserialized dynamically.
<array length="2"> <entry> <text>example text value</text> </entry> <entry> <text>some other example</text> </entry> </array>For the above XML element list the element
entry
is
contained within the array. Each entry element is deserialized as
a root element and then inserted into the array. For serialization
the reverse is done, each element taken from the array is written
as a root element to the parent element to create the list. Entry
objects do not need to be of the same type.- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final Type
This is the entry type for elements within the array.private final ArrayFactory
This factory is used to create an array for the contact.private final String
This is the name to wrap each entry that is represented.private final Traverser
This performs the traversal used for object serialization.private final Type
This represents the actual field or method for the array. -
Constructor Summary
ConstructorsConstructorDescriptionCompositeArray
(Context context, Type type, Type entry, String parent) Constructor for theCompositeArray
object. -
Method Summary
Modifier and TypeMethodDescriptionThisread
method will read the XML element list from the provided node and deserialize its children as entry types.Thisread
method will read the XML element list from the provided node and deserialize its children as entry types.private void
This is used to read the specified node from in to the list.boolean
Thisvalidate
method will validate the XML element list against the provided node and validate its children as entry types.private boolean
Thisvalidate
method wll validate the XML element list against the provided node and validate its children as entry types.void
write
(OutputNode node, Object source) Thiswrite
method will write the specified object to the given XML element as as array entries.
-
Field Details
-
factory
This factory is used to create an array for the contact. -
root
This performs the traversal used for object serialization. -
parent
This is the name to wrap each entry that is represented. -
entry
This is the entry type for elements within the array. -
type
This represents the actual field or method for the array.
-
-
Constructor Details
-
CompositeArray
Constructor for theCompositeArray
object. This is given the array type for the contact that is to be converted. An array of the specified type is used to hold the deserialized elements and will be the same length as the number of elements.- Parameters:
context
- this is the context object used for serializationtype
- this is the field type for the array being usedentry
- this is the entry type for the array elementsparent
- this is the name to wrap the array element with
-
-
Method Details
-
read
Thisread
method will read the XML element list from the provided node and deserialize its children as entry types. This ensures each entry type is deserialized as a root type, that is, itsRoot
annotation must be present and the name of the entry element must match that root element name. -
read
Thisread
method will read the XML element list from the provided node and deserialize its children as entry types. This ensures each entry type is deserialized as a root type, that is, itsRoot
annotation must be present and the name of the entry element must match that root element name. -
read
This is used to read the specified node from in to the list. If the node is null then this represents a null element value in the array. The node can be null only if there is a parent and that parent contains no child XML elements.- Parameters:
node
- this is the node to read the array value fromlist
- this is the list to add the array value in toindex
- this is the offset to set the value in the array- Throws:
Exception
-
validate
Thisvalidate
method will validate the XML element list against the provided node and validate its children as entry types. This ensures each entry type is validated as a root type, that is, itsRoot
annotation must be present and the name of the entry element must match that root element name. -
validate
Thisvalidate
method wll validate the XML element list against the provided node and validate its children as entry types. This ensures each entry type is validated as a root type, that is, itsRoot
annotation must be present and the name of the entry element must match that root element name.- Parameters:
node
- this is the XML element that is to be validatedtype
- this is the array type used to create the array- Returns:
- true if the element matches the XML schema class given
- Throws:
Exception
-
write
Thiswrite
method will write the specified object to the given XML element as as array entries. Each entry within the given array must be assignable to the array component type. Each array entry is serialized as a root element, that is, itsRoot
annotation is used to extract the name.
-