Beispiel #1
0
        /// <summary>
        /// Constructs the renderer with required dependencies
        /// </summary>
        /// <param name="functionRepository">The function repository</param>
        /// <param name="templateRepository">The template repository</param>
        /// <param name="collectionRenderer">The block collection renderer</param>
        public PartialRenderer
        (
            IFunctionRepository functionRepository,
            IRegisteredTemplateRepository templateRepository,
            BlockCollectionRenderer collectionRenderer
        )

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

            _templateRepository = templateRepository;
            _collectionRenderer = collectionRenderer;
        }
Beispiel #2
0
        /// <summary>
        /// Constructs the renderer with required dependencies
        /// </summary>
        /// <param name="functionRepository">The function repository</param>
        /// <param name="templateRepository">The template repository</param>
        public TemplateRenderer
        (
            IFunctionRepository functionRepository,
            IRegisteredTemplateRepository templateRepository
        )

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

            _collectionRenderer = new BlockCollectionRenderer
                                  (
                functionRepository,
                templateRepository
                                  );
        }
Beispiel #3
0
        /// <summary>
        /// Constructs the compiler with required dependencies
        /// </summary>
        /// <param name="parser">The template parser</param>
        /// <param name="renderer">The template renderer</param>
        /// <param name="validator">The template validator</param>
        /// <param name="functionRepository">The function repository</param>
        /// <param name="templateRepository">The template repository</param>
        internal NettleCompiler
        (
            ITemplateParser parser,
            ITemplateRenderer renderer,
            ITemplateValidator validator,
            IFunctionRepository functionRepository,
            IRegisteredTemplateRepository templateRepository
        )
        {
            Validate.IsNotNull(parser);
            Validate.IsNotNull(renderer);
            Validate.IsNotNull(validator);
            Validate.IsNotNull(functionRepository);
            Validate.IsNotNull(templateRepository);

            _parser             = parser;
            _renderer           = renderer;
            _validator          = validator;
            _functionRepository = functionRepository;
            _templateRepository = templateRepository;
        }
        /// <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
            };
        }