private void writePluginType(IPluginTypeConfiguration pluginType) { _writer.AddDivider('-'); var contents = new[] { "{0} ({1})".ToFormat(pluginType.PluginType.GetName(), pluginType.PluginType.GetFullName()), string.Empty, string.Empty }; if (pluginType.Default != null) { setContents(contents, pluginType.Default); } _writer.AddText(contents); if (pluginType.Lifecycle != null) { _writer.AddContent("Scoped as: " + pluginType.Lifecycle); } else { _writer.AddContent("Scoped as: PerRequest/Transient"); } foreach (InstanceRef instance in pluginType.Instances) { writeInstance(instance); } }
public PluginTypeDTO(IPluginTypeConfiguration configuration) { profile = configuration.ProfileName; pluginType = configuration.PluginType.GetFullName(); lifecycle = configuration.Lifecycle.GetType().Name.Replace("Lifecycle", ""); if (configuration.Default != null) { defaultInstance = new InstanceDTO(configuration.Default); others = configuration.Instances.Where(x => x.Name != configuration.Default.Name) .Select(x => new InstanceDTO(x)) .ToArray(); } else { others = configuration.Instances.Select(x => new InstanceDTO(x)) .ToArray(); } if (configuration.MissingNamedInstance != null) { missingName = new InstanceDTO(configuration.MissingNamedInstance); } if (configuration.Fallback != null) { fallback = new InstanceDTO(configuration.Fallback); } }
private string FormatLifecycle(IPluginTypeConfiguration pxTypeConfiguration) { string scope = string.Empty; if (pxTypeConfiguration == null) return scope; if (pxTypeConfiguration.Lifecycle != null) scope = "Scoped as: " + pxTypeConfiguration.Lifecycle; else scope = "Scoped as: PerRequest/Transient"; return scope; }
private string FormatLifecycle(IPluginTypeConfiguration pxTypeConfiguration) { string scope = string.Empty; if (pxTypeConfiguration == null) { return(scope); } if (pxTypeConfiguration.Lifecycle != null) { scope = "Scoped as: " + pxTypeConfiguration.Lifecycle; } else { scope = "Scoped as: PerRequest/Transient"; } return(scope); }
public static InstanceRef Find(this IPluginTypeConfiguration configuration, string instanceName) { return(configuration.Instances.FirstOrDefault(x => x.Name == instanceName)); }
/// <summary> /// Ejects and removes all objects and configuration for the instances that match the filter /// </summary> /// <param name="configuration"></param> /// <param name="filter"></param> public static void EjectAndRemove(this IPluginTypeConfiguration configuration, Func <InstanceRef, bool> filter) { configuration.Instances.Where(filter).Each(configuration.EjectAndRemove); }
/// <summary> /// Ejects and removes all objects and the configuration for the named instance from the /// container /// </summary> /// <param name="configuration"></param> /// <param name="instanceName"></param> public static void EjectAndRemove(this IPluginTypeConfiguration configuration, string instanceName) { configuration.EjectAndRemove(configuration.Find(instanceName)); }
private T findForFamily <T>(Type pluginType, Func <IPluginTypeConfiguration, T> func, T defaultValue) { IPluginTypeConfiguration family = PluginTypes.FirstOrDefault(x => x.PluginType == pluginType); return(family == null ? defaultValue : func(family)); }
private void writePluginType(IPluginTypeConfiguration pluginType) { _writer.AddDivider('-'); var contents = new[] { "{0}".ToFormat(pluginType.PluginType.GetTypeName()), pluginType.PluginType.Namespace, string.Empty, string.Empty, string.Empty }; if (pluginType.Default != null) { setContents(contents, pluginType.Default); if (contents[4].IsEmpty()) { contents[4] = "(Default)"; } else { contents[4] += " (Default)"; } } _writer.AddText(contents); foreach (var instance in pluginType.Instances) { writeInstance(instance); } if (pluginType.MissingNamedInstance != null) { writeInstance(pluginType.MissingNamedInstance, "*Missing Named Instance*"); } if (pluginType.Fallback != null) { writeInstance(pluginType.Fallback, "*Fallback*"); } }