Ejemplo n.º 1
0
        /// <summary>
        /// Constructs the renderer with required dependencies
        /// </summary>
        /// <param name="functionRepository">The function repository</param>
        /// <param name="expressionEvaluator">The expression evaluator</param>
        public ConditionalBindingRenderer
        (
            IFunctionRepository functionRepository,
            BooleanExpressionEvaluator expressionEvaluator
        )

            : base(functionRepository)
        {
            Validate.IsNotNull(expressionEvaluator);

            _expressionEvaluator = expressionEvaluator;
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Constructs the renderer with required dependencies
        /// </summary>
        /// <param name="functionRepository">The function repository</param>
        /// <param name="expressionEvaluator">The expression evaluator</param>
        /// <param name="collectionRenderer">The block collection renderer</param>
        public WhileLoopRenderer
        (
            IFunctionRepository functionRepository,
            BooleanExpressionEvaluator expressionEvaluator,
            BlockCollectionRenderer collectionRenderer
        )

            : base(functionRepository)
        {
            Validate.IsNotNull(expressionEvaluator);
            Validate.IsNotNull(collectionRenderer);

            _expressionEvaluator = expressionEvaluator;
            _collectionRenderer  = collectionRenderer;
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Constructs the renderer with required dependencies
        /// </summary>
        /// <param name="functionRepository">The function repository</param>
        /// <param name="templateRepository">The template repository</param>
        public BlockCollectionRenderer
        (
            IFunctionRepository functionRepository,
            IRegisteredTemplateRepository templateRepository
        )
        {
            Validate.IsNotNull(functionRepository);
            Validate.IsNotNull(templateRepository);

            var expressionEvaluator = new BooleanExpressionEvaluator
                                      (
                functionRepository
                                      );

            var commentRenderer = new CommentRenderer
                                  (
                functionRepository
                                  );

            var contentRenderer = new ContentRenderer
                                  (
                functionRepository
                                  );

            var bindingRenderer = new ModelBindingRenderer
                                  (
                functionRepository
                                  );

            var condtionalBindingRenderer = new ConditionalBindingRenderer
                                            (
                functionRepository,
                expressionEvaluator
                                            );

            var variableRenderer = new VariableRenderer
                                   (
                functionRepository
                                   );

            var variableReassignmentRenderer = new VariableReassignmentRenderer
                                               (
                functionRepository
                                               );

            var variableIncrementerRenderer = new VariableIncrementerRenderer
                                              (
                functionRepository
                                              );

            var variableDecrementerRenderer = new VariableDecrementerRenderer
                                              (
                functionRepository
                                              );

            var flagRenderer = new FlagRenderer
                               (
                functionRepository
                               );

            var functionRenderer = new FunctionRenderer
                                   (
                functionRepository
                                   );

            var eachLoopRenderer = new ForEachLoopRenderer
                                   (
                functionRepository,
                this
                                   );

            var whileLoopRenderer = new WhileLoopRenderer
                                    (
                functionRepository,
                expressionEvaluator,
                this
                                    );

            var ifStatementRenderer = new IfStatementRenderer
                                      (
                functionRepository,
                expressionEvaluator,
                this
                                      );

            var partialRenderer = new PartialRenderer
                                  (
                functionRepository,
                templateRepository,
                this
                                  );

            _renderers = new List <IBlockRenderer>()
            {
                commentRenderer,
                contentRenderer,
                bindingRenderer,
                condtionalBindingRenderer,
                variableRenderer,
                variableReassignmentRenderer,
                variableIncrementerRenderer,
                variableDecrementerRenderer,
                flagRenderer,
                functionRenderer,
                eachLoopRenderer,
                whileLoopRenderer,
                ifStatementRenderer,
                partialRenderer
            };
        }