[Test] public void GetEmptyTemplateSet() { ITemplateSetLoader loader = new MyTemplateSetLoader(); using (ITemplateSet templates = loader.Load("en", "Empty")) Assert.IsNull(templates.GetNextTemplate()); }
public virtual void Emit(ITemplateSet templateSet, StreamWriter writer) { for (int i = 0; i < nodes.Length; i++) { nodes[i].Emit(templateSet, writer); } }
[Test] public void GetNonEmptyTemplateSet() { ITemplateSetLoader loader = new MyTemplateSetLoader(); using (ITemplateSet templates = loader.Load("en", "Base")) Assert.AreEqual("LongText", templates.GetNextTemplate().Tag); }
public void Process() { foreach (ITemplateSet set in this.templateSets.Values) { set.Resolve(this); } // Later on, we will implement rewriting only if changed foreach (Mapping mapping in this.generationMapper) { Console.WriteLine("Processing mapping '{0}:{1}' -> '{2}'", mapping.Source, mapping.Template, mapping.Destination); ITemplateSet set = templateSets[mapping.Template]; IDocumentNode src = documentSources[mapping.Source]; using (Stream stream = File.Create(mapping.Destination)) { using (StreamWriter writer = new StreamWriter(stream)) { writer.WriteLine("// This file was generated by TemplateEngine from template source '{0}'", mapping.Source); writer.WriteLine("// using template '{0}. Do not modify this file directly, modify it from template source.", mapping.Template); writer.WriteLine(); src.Emit(set, writer); } } } }
[Test] public void GeExistTemplateSet() { ITemplateSetLoader loader = new MyTemplateSetLoader(); using (ITemplateSet templates = loader.Load("en", "Base")) Assert.IsNotNull(templates); }
public void Resolve(ITemplateResolver resolver) { resolved = resolver.Resolve(link); if (resolved == null) { throw new Exception(string.Format("Could not resolve {0} link", link)); } }
public override void Emit(ITemplateSet templateSet, System.IO.StreamWriter writer) { string comp = string.Empty; for (int i = 0; i < conditions.Length; i++) { if (comp != string.Empty) { comp += " "; } comp += conditions[i]; } bool satisfied = true; for (int i = 0; i < conditions.Length; i++) { if (templateSet.Provide(conditions[i]) == null) { satisfied = false; break; } } if (satisfied) { writer.WriteLine("//#ifdef {0}", comp); for (int i = 0; i < nodes.Length; i++) { if (nodes[i] is ElseNode) { break; } nodes[i].Emit(templateSet, writer); } writer.Write("//#endif"); } else { int i; for (i = 0; i < nodes.Length; i++) { if (nodes[i] is ElseNode) { break; } } for (; i < nodes.Length; i++) { nodes[i].Emit(templateSet, writer); } } }
public void Emit(ITemplateSet templateSet, System.IO.StreamWriter writer) { object obj = templateSet.Provide(reference); if (obj == null) { throw new Exception(string.Format("Missing reference {0}", reference)); } writer.Write(obj.ToString()); }
private static void FillLocalizer(Localizer loc, ITemplateSet templates) { for (Template t = templates.GetNextTemplate(); t != null; t = templates.GetNextTemplate()) { if (string.IsNullOrEmpty(t.Translation)) { loc.Remove(t.Tag); } else { loc.Add(t.Tag, t.Translation); } } }
private static Localizer CreateLocalizer(Localizer fallback, string culture, IEnumerable <ITemplateProvider> providers) { Localizer loc = null; foreach (ITemplateProvider provider in providers) { using (ITemplateSet templates = provider.Load(culture)) { if (templates != null) { if (loc == null) { loc = new Localizer(fallback); } FillLocalizer(loc, templates); } } } return(loc); }
public override void Emit(ITemplateSet templateSet, System.IO.StreamWriter writer) { object ttarget = templateSet.Provide(templateTarget); if (ttarget is ITemplateSet) { ITemplateSet target = ttarget as ITemplateSet; foreach (string s in target.Available) { ITemplateSet set = target.Provide(s) as ITemplateSet; writer.WriteLine(); writer.WriteLine("\t\t//#foreach instanced to '{0}'", set.Name); base.Emit(set, writer); writer.WriteLine("//#endfor instanced to '{0}'", set.Name); } } else { Console.WriteLine("Error: could not resolve target '{0}' as ITemplateSet", templateTarget); } }
public void Emit(ITemplateSet templateSet, System.IO.StreamWriter writer) { writer.Write(data); }
public void Emit(ITemplateSet templateSet, System.IO.StreamWriter writer) { }
private static void FillLocalizer (Localizer loc, ITemplateSet templates) { for (Template t = templates.GetNextTemplate(); t != null; t = templates.GetNextTemplate()) { if (string.IsNullOrEmpty(t.Translation)) loc.Remove(t.Tag); else loc.Add(t.Tag, t.Translation); } }