public RootPipelineGraph(PluginGraph pluginGraph) { _pluginGraph = pluginGraph; _transientCache = new NulloTransientCache(); _profiles = new Cache<string, IPipelineGraph>( name => new ComplexPipelineGraph(this, _pluginGraph.Profile(name), new NulloTransientCache())); }
public Profiles(PluginGraph pluginGraph, IPipelineGraph root) { _profiles = new Cache<string, IPipelineGraph>(name => { var profileGraph = pluginGraph.Profile(name); var instances = new ComplexInstanceGraph(root, profileGraph, ContainerRole.ProfileOrChild); return new PipelineGraph(profileGraph, instances, root, root.Singletons, root.Transients); }); }
public void lifecycle_for_pluginType_explicitly_set() { var graph = new PluginGraph(); var profile = graph.Profile("Red"); profile.Families[typeof(IGateway)].SetLifecycleTo<SingletonLifecycle>(); var pipeline = PipelineGraph.BuildRoot(graph).Profiles.For("Red"); pipeline.Instances.DefaultLifecycleFor(typeof (IGateway)) .ShouldBeOfType<SingletonLifecycle>(); }
public void get_the_owner_when_part_of_a_profile() { var graph = new PluginGraph(); var profile = graph.Profile("something"); var family = profile.Families[GetType()]; var instance = new SimpleInstance(); family.AddInstance(instance); instance.Owner().ShouldBeTheSameAs(graph); }