C# Class SimpleFramework.Xml.Core.CompositeList

The CompositeList object is used to convert an element list to a collection of element entries. This in effect performs a root serialization and deserialization of entry elements for the collection object. On serialization each objects type must be checked against the XML annotation entry so that it is serialized in a form that can be deserialized. <list> <entry attribute="value"> <text>example text value</text> </entry> <entry attribute="demo"> <text>some other example</text> </entry> </list> For the above XML element list the element entry is contained within the list. Each entry element is thus deserialized as a root element and then inserted into the list. This enables lists to be composed from XML documents. For serialization the reverse is done, each element taken from the collection is written as a root element to the owning element to create the list. Entry objects do not need to be of the same type.
Inheritance: Converter
Mostrar archivo Open project: ngallagher/simplexml

Public Methods

Method Description
CompositeList ( Context context, Type type, Type entry, String name ) : SimpleFramework.Xml.Strategy

Constructor for the CompositeList object. This is given the list type and entry type to be used. The list type is the Collection implementation that deserialized entry objects are inserted into.

Populate ( InputNode node, Object result ) : Object

This populate method wll read the XML element list from the provided node and deserialize its children as entry types. This will each entry type is deserialized as a root type, that is, its Root annotation must be present and the name of the entry element must match that root element name.

Read ( InputNode node ) : Object

This read method will read the XML element list from the provided node and deserialize its children as entry types. This will each entry type is deserialized as a root type, that is, its Root annotation must be present and the name of the entry element must match that root element name.

Read ( InputNode node, Object result ) : Object

This read method will read the XML element map from the provided node and deserialize its children as entry types. Each entry type must contain a key and value so that the entry can be inserted in to the map as a pair. If either the key or value is composite it is read as a root object, which means its Root annotation must be present and the name of the object element must match that root element name.

Validate ( InputNode node ) : bool

This validate method will validate the XML element list from the provided node and deserialize its children as entry types. This takes each entry type and validates it as a root type, that is, its Root annotation must be present and the name of the entry element must match that root element name.

Validate ( InputNode node, Class type ) : bool

This validate method will validate the XML element list from the provided node and deserialize its children as entry types. This takes each entry type and validates it as a root type, that is, its Root annotation must be present and the name of the entry element must match that root element name.

Write ( OutputNode node, Object source ) : void

This write method will write the specified object to the given XML element as as list entries. Each entry within the given collection must be assignable from the annotated type specified within the ElementList annotation. Each entry is serialized as a root element, that is, its Root annotation is used to extract the name.

Method Details

CompositeList() public method

Constructor for the CompositeList object. This is given the list type and entry type to be used. The list type is the Collection implementation that deserialized entry objects are inserted into.
public CompositeList ( Context context, Type type, Type entry, String name ) : SimpleFramework.Xml.Strategy
context Context /// this is the context object used for serialization ///
type System.Type /// this is the collection type for the list used ///
entry System.Type /// the entry type to be stored within the list ///
name String
return SimpleFramework.Xml.Strategy

Populate() public method

This populate method wll read the XML element list from the provided node and deserialize its children as entry types. This will each entry type is deserialized as a root type, that is, its Root annotation must be present and the name of the entry element must match that root element name.
public Populate ( InputNode node, Object result ) : Object
node InputNode /// this is the XML element that is to be deserialized ///
result Object /// this is the collection that is to be populated ///
return Object

Read() public method

This read method will read the XML element list from the provided node and deserialize its children as entry types. This will each entry type is deserialized as a root type, that is, its Root annotation must be present and the name of the entry element must match that root element name.
public Read ( InputNode node ) : Object
node InputNode /// this is the XML element that is to be deserialized ///
return Object

Read() public method

This read method will read the XML element map from the provided node and deserialize its children as entry types. Each entry type must contain a key and value so that the entry can be inserted in to the map as a pair. If either the key or value is composite it is read as a root object, which means its Root annotation must be present and the name of the object element must match that root element name.
public Read ( InputNode node, Object result ) : Object
node InputNode /// this is the XML element that is to be deserialized ///
result Object /// this is the map object that is to be populated ///
return Object

Validate() public method

This validate method will validate the XML element list from the provided node and deserialize its children as entry types. This takes each entry type and validates it as a root type, that is, its Root annotation must be present and the name of the entry element must match that root element name.
public Validate ( InputNode node ) : bool
node InputNode /// this is the XML element that is to be validated ///
return bool

Validate() public method

This validate method will validate the XML element list from the provided node and deserialize its children as entry types. This takes each entry type and validates it as a root type, that is, its Root annotation must be present and the name of the entry element must match that root element name.
public Validate ( InputNode node, Class type ) : bool
node InputNode /// this is the XML element that is to be validated ///
type Class /// this is the type to validate against the input node ///
return bool

Write() public method

This write method will write the specified object to the given XML element as as list entries. Each entry within the given collection must be assignable from the annotated type specified within the ElementList annotation. Each entry is serialized as a root element, that is, its Root annotation is used to extract the name.
public Write ( OutputNode node, Object source ) : void
node OutputNode /// this is the XML element container to be populated ///
source Object /// this is the source collection to be serialized ///
return void