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);
            }
        }
Esempio n. 2
0
        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);
        }
Esempio n. 5
0
 public static InstanceRef Find(this IPluginTypeConfiguration configuration, string instanceName)
 {
     return(configuration.Instances.FirstOrDefault(x => x.Name == instanceName));
 }
Esempio n. 6
0
 /// <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);
 }
Esempio n. 7
0
 /// <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));
 }
Esempio n. 8
0
        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));
        }
Esempio n. 9
0
        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*");
            }
        }