MustacheSharp/mustache-sharp/CompoundGenerator.cs

33 lines
885 B
C#

using System;
using System.Collections.Generic;
using System.Text;
namespace mustache
{
internal sealed class CompoundGenerator : IGenerator
{
private readonly List<IGenerator> _generators;
public CompoundGenerator()
{
_generators = new List<IGenerator>();
}
public void AddGenerator(StaticGenerator generator)
{
_generators.Add(generator);
}
string IGenerator.GetText(object source)
{
StringBuilder builder = new StringBuilder();
foreach (IGenerator generator in _generators)
{
builder.Append(generator.GetText(source));
}
string innerText = builder.ToString();
// TODO - process with tag's custom handler
return innerText;
}
}
}