/// <summary>
        /// Initializes a new instance of the <see cref="DefaultCommandCallResolver"/> class.
        /// </summary>
        public DefaultCommandCallResolver(IDescriptorRepository descriptorRepository, IRunnableFactory runnableFactory)
        {
            Assume.NotNull(descriptorRepository, nameof(descriptorRepository));
            Assume.NotNull(runnableFactory, nameof(runnableFactory));

            DescriptorRepository = descriptorRepository;
            RunnableFactory = runnableFactory;
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="DefaultCommandCallResolver"/> class.
        /// </summary>
        public DefaultCommandCallResolver(IDescriptorRepository descriptorRepository, IRunnableFactory runnableFactory)
        {
            Assume.NotNull(descriptorRepository, nameof(descriptorRepository));
            Assume.NotNull(runnableFactory, nameof(runnableFactory));

            DescriptorRepository = descriptorRepository;
            RunnableFactory      = runnableFactory;
        }
Esempio n. 3
0
        /// <summary>
        /// Initializes a new instance of the <see cref="Bootstrapper"/> class.
        /// </summary>
        public Bootstrapper(IRunnableFactory runnableFactory, IDescriptorRepository descriptorRepository, Func<Bootstrapper, ICommandDescriptorManager> commandDescriptorManager = null,
                            Func<Bootstrapper, ICommandCallResolver> commandResolver = null, Func<Bootstrapper, ISelectorFactory> selectorFactory = null,
                            Func<Bootstrapper, ISelectorResolver> selectorResolver = null, Func<Bootstrapper, IRunnableManager> runnableManager = null, Func<Bootstrapper, IExecutor> executor = null,
                            Func<Bootstrapper, IControlFlowFactory<ControlFlowBase>> controlFlowFactory = null)
        {
            Assume.NotNull(runnableFactory, nameof(runnableFactory));
            Assume.NotNull(descriptorRepository, nameof(descriptorRepository));

            RunnableFactory = runnableFactory;
            DescriptorRepository = descriptorRepository;
            CommandDescriptorManager = commandDescriptorManager.SafeInvoke(this) ?? new DefaultCommandDescriptorManager();
            CommandCallResolver = commandResolver.SafeInvoke(this) ?? new DefaultCommandCallResolver(descriptorRepository, RunnableFactory);
            SelectorFactory = selectorFactory.SafeInvoke(this) ?? new DefaultSelectorFactory();
            SelectorResolver = selectorResolver.SafeInvoke(this) ?? new DefaultSelectorResolver(SelectorFactory, DescriptorRepository);
            RunnableManager = runnableManager.SafeInvoke(this) ?? new DefaultRunnableManager();
            Executor = executor.SafeInvoke(this) ?? new StandardExecutor(RunnableManager);

            ControlFlowFactory = controlFlowFactory.SafeInvoke(this) ?? new DefaultControlFlowFactory(CommandCallResolver, SelectorResolver, Executor);
            Compiler = new CodeQueryCompiler();
        }
Esempio n. 4
0
        /// <summary>
        /// Initializes a new instance of the <see cref="Bootstrapper"/> class.
        /// </summary>
        public Bootstrapper(IRunnableFactory runnableFactory, IDescriptorRepository descriptorRepository, Func <Bootstrapper, ICommandDescriptorManager> commandDescriptorManager = null,
                            Func <Bootstrapper, ICommandCallResolver> commandResolver = null, Func <Bootstrapper, ISelectorFactory> selectorFactory = null,
                            Func <Bootstrapper, ISelectorResolver> selectorResolver   = null, Func <Bootstrapper, IRunnableManager> runnableManager = null, Func <Bootstrapper, IExecutor> executor = null,
                            Func <Bootstrapper, IControlFlowFactory <ControlFlowBase> > controlFlowFactory = null)
        {
            Assume.NotNull(runnableFactory, nameof(runnableFactory));
            Assume.NotNull(descriptorRepository, nameof(descriptorRepository));

            RunnableFactory          = runnableFactory;
            DescriptorRepository     = descriptorRepository;
            CommandDescriptorManager = commandDescriptorManager.SafeInvoke(this) ?? new DefaultCommandDescriptorManager();
            CommandCallResolver      = commandResolver.SafeInvoke(this) ?? new DefaultCommandCallResolver(descriptorRepository, RunnableFactory);
            SelectorFactory          = selectorFactory.SafeInvoke(this) ?? new DefaultSelectorFactory();
            SelectorResolver         = selectorResolver.SafeInvoke(this) ?? new DefaultSelectorResolver(SelectorFactory, DescriptorRepository);
            RunnableManager          = runnableManager.SafeInvoke(this) ?? new DefaultRunnableManager();
            Executor = executor.SafeInvoke(this) ?? new StandardExecutor(RunnableManager);

            ControlFlowFactory = controlFlowFactory.SafeInvoke(this) ?? new DefaultControlFlowFactory(CommandCallResolver, SelectorResolver, Executor);
            Compiler           = new CodeQueryCompiler();
        }