/// <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; }
/// <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 ); }
/// <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 }; }