public TemplateFactory GetOrAdd(IViewSource viewSource, ITemplateFactoryFactory factoryFactory) { TemplateFactory compiledTemplate; var className = viewSource.GetClassName(); lock( _compiledTemplateCache ) { if (!_compiledTemplateCache.TryGetValue(className, out compiledTemplate)) { compiledTemplate = factoryFactory.CompileTemplateFactory(className, viewSource); _compiledTemplateCache.Add(className, compiledTemplate); return compiledTemplate; } } return compiledTemplate; }
public TemplateEngine(IHamlTemplateCache templateCache, ITemplateFactoryFactory templateFactoryFactory) { _compiledTemplateCache = templateCache; _templateFactoryFactory = templateFactoryFactory; }
public TemplateEngine(ITemplateFactoryFactory templateFactoryFactory, ITemplateFactoryCache cache) { _templateFactoryFactory = templateFactoryFactory; _compiledTemplateCache = cache; }
public TemplateEngine(ITemplateFactoryFactory templateFactoryFactory) : this(templateFactoryFactory, new DefaultTemplateFactoryCache()) { }