fa5d38928153267bc650a1a82c248f5134b69a4a
[mir.git] / source / mircoders / localizer / basic / FreemarkerGeneratorLocalizer.java
1 package mircoders.localizer.basic;
2
3 import freemarker.template.*;
4 import mir.generator.*;
5 import mircoders.localizer.*;
6
7 public class FreemarkerGeneratorLocalizer  implements MirGeneratorLocalizer {
8   private FileTemplateCache  templateCache;
9
10   public FreemarkerGeneratorLocalizer(String aTemplateRoot) {
11     templateCache = new FileTemplateCache(aTemplateRoot+"/");
12     templateCache.setLoadingPolicy(templateCache.LOAD_ON_DEMAND);
13   }
14
15   public Generator makeGenerator(String anIdentifier) throws MirLocalizerException {
16     Template template = (Template) templateCache.getItem(anIdentifier, "template");
17
18     if (template==null) {
19       throw new MirLocalizerException("FreemarkerGeneratorLocalizer: Can't find template "+templateCache.getDirectory()+anIdentifier);
20     }
21
22     prepareTemplate(template);
23
24     return new FreemarkerGenerator(template);
25   };
26
27   public void prepareTemplate(Template aTemplate) throws MirLocalizerException {
28   }
29 }
30