Class XFactory
Factory class for generating objects from XML elements using registered generator functions.
public class XFactory
- Inheritance
-
XFactory
- Inherited Members
- Extension Methods
Remarks
Generator functions must be added to Regs to enable the factory to create objects from XML.
Constructors
XFactory()
Initializes a new instance of the XFactory class.
public XFactory()
Fields
Default
Gets the global default instance of XFactory.
public static XFactory Default
Field Value
Properties
Regs
Gets or sets the dictionary mapping XML element names to generator functions with relative file path.
public 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 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 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 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 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 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 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