Class XFactory
Factory class for generating objects from XML elements using registered generator functions.
public static class XFactory
- Inheritance
-
XFactory
- Inherited Members
Remarks
Generator functions must be added to Regs to enable the factory to create objects from XML.
Properties
Regs
Gets or sets the dictionary mapping XML element names to generator functions with relative file path.
public static Dictionary<string, XFactory.GenByXElementDelegate> Regs { get; set; }
Property Value
Methods
GenByChild<T>(XElement, string, SetFileDelegate, GenMode, params object[])
Generates an object of type T from a child element of the provided XML element.
public static T GenByChild<T>(XElement src, string baseDirectory, SetFileDelegate setFileAction, GenMode genMode, params object[] res) where T : class
Parameters
src
XElementThe parent XML element containing the child to process
baseDirectory
stringThe base directory for resolving paths
setFileAction
SetFileDelegateAction to execute when setting the file path
genMode
GenModeThe generation mode to use
res
object[]Additional parameters for generation
Returns
- T
The generated object of type T, or null if generation fails
Type Parameters
T
The type of object to generate
GenByFile<T>(string, string, GenMode, params object[])
Generates an object of type T from an XML file.
public static T GenByFile<T>(string baseDirectory, string relFile, GenMode genMode, params object[] res) where T : class
Parameters
baseDirectory
stringThe base directory for resolving paths
relFile
stringThe relative file path to the XML file
genMode
GenModeThe generation mode to use
res
object[]Additional parameters for generation
Returns
- T
The generated object of type T, or null if generation fails
Type Parameters
T
The type of object to generate
GenXmlFileSourceByChild<T>(XElement, string, GenMode, params object[])
Generates an XML source and file object of type T from the first child element of the provided XML element.
public static XmlSourceAndFile<T> GenXmlFileSourceByChild<T>(XElement src, string baseDirectory, GenMode genMode, params object[] res) where T : class, IMakeXmlSource
Parameters
src
XElementThe parent XML element containing the child to process
baseDirectory
stringThe base directory for resolving paths
genMode
GenModeThe generation mode to use
res
object[]Additional parameters for generation
Returns
- XmlSourceAndFile<T>
An XmlSourceAndFile object containing the generated object and its file path
Type Parameters
T
The type of object to generate, must implement IMakeXmlSource
GenXmlFileSourceByFile<T>(string, string, GenMode, params object[])
Generates an XML source and file object of type T from an XML file.
public static XmlSourceAndFile<T> GenXmlFileSourceByFile<T>(string baseDirectory, string relFile, GenMode genMode, params object[] res) where T : class, IMakeXmlSource
Parameters
baseDirectory
stringThe base directory for resolving paths
relFile
stringThe relative file path to the XML file
genMode
GenModeThe generation mode to use
res
object[]Additional parameters for generation
Returns
- XmlSourceAndFile<T>
An XmlSourceAndFile object containing the generated object and its file path
Type Parameters
T
The type of object to generate, must implement IMakeXmlSource
GenXmlSourceAndFile<T>(XElement, string, SetFileDelegate, GenMode, params object[])
Generates an XML source and file object of type T from an XML element.
public static XmlSourceAndFile<T> GenXmlSourceAndFile<T>(XElement src, string baseDirectory, SetFileDelegate setFileAction, GenMode genMode, params object[] res) where T : class, IMakeXmlSource
Parameters
src
XElementThe source XML element
baseDirectory
stringThe base directory for resolving paths
setFileAction
SetFileDelegateAction to execute when setting the file path
genMode
GenModeThe generation mode to use
res
object[]Additional parameters for generation
Returns
- XmlSourceAndFile<T>
An XmlSourceAndFile object containing the generated object and its file path
Type Parameters
T
The type of object to generate, must implement IMakeXmlSource
Gen<T>(XElement, string, SetFileDelegate, GenMode, params object[])
Generates an object of type T from an XML element with specified generation mode.
public static T Gen<T>(XElement src, string baseDirectory, SetFileDelegate setFileAction, GenMode mode, params object[] res) where T : class
Parameters
src
XElementThe source XML element
baseDirectory
stringThe base directory for resolving paths
setFileAction
SetFileDelegateAction to execute when setting the file path
mode
GenModeThe generation mode to use
res
object[]Additional parameters for generation
Returns
- T
The generated object of type T, or null if generation fails
Type Parameters
T
The type of object to generate