// Load ------------------------------------------------ /// <summary> /// Creates the instance of the specified definition. /// </summary> /// <param name="scope">The scope to consider.</param> /// <param name="xmlstring">The XML string to consider.</param> /// <param name="scriptVariableSet">The set of script variables to consider.</param> /// <param name="log">The log to consider.</param> public static ITBdoExtensionItemConfiguration <T> LoadConfiguration <T>( this IBdoScope scope, string xmlstring, IScriptVariableSet scriptVariableSet = null, IBdoLog log = null) where T : IBdoExtensionItemDefinition { BdoExtensionItemKind extensionItemKind = typeof(T).GetExtensionItemKind(); ITBdoExtensionItemConfiguration <T> configuration = default; switch (extensionItemKind) { case BdoExtensionItemKind.Carrier: configuration = XmlHelper.LoadFromString <BdoCarrierConfiguration>(xmlstring, scope, scriptVariableSet, log) as ITBdoExtensionItemConfiguration <T>; break; case BdoExtensionItemKind.Connector: configuration = XmlHelper.LoadFromString <BdoConnectorConfiguration>(xmlstring, scope, scriptVariableSet, log) as ITBdoExtensionItemConfiguration <T>; break; case BdoExtensionItemKind.Entity: configuration = XmlHelper.LoadFromString <BdoEntityConfiguration>(xmlstring, scope, scriptVariableSet, log) as ITBdoExtensionItemConfiguration <T>; break; case BdoExtensionItemKind.Format: configuration = XmlHelper.LoadFromString <BdoFormatConfiguration>(xmlstring, scope, scriptVariableSet, log) as ITBdoExtensionItemConfiguration <T>; break; case BdoExtensionItemKind.Task: configuration = XmlHelper.LoadFromString <BdoTaskConfiguration>(xmlstring, scope, scriptVariableSet, log) as ITBdoExtensionItemConfiguration <T>; break; } return(configuration); }
// ------------------------------------------ // CLONING // ------------------------------------------ #region Cloning /// <summary> /// Clones this instance. /// </summary> /// <returns>Returns the cloned metrics definition.</returns> public override object Clone(params string[] areas) { ITBdoExtensionItemConfiguration <T> appExtensionItem = base.Clone(areas) as TBdoExtensionItemConfiguration <T>; return(appExtensionItem); }