0af3d6a3d2e8166da764b28e27372dc3ee50dd99
[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     // ML: check for null!
25
26     return new FreemarkerGenerator(template);
27   };
28
29   public void prepareTemplate(Template aTemplate) throws MirLocalizerException {
30   }
31 }
32