1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 package org.apache.tiles.autotag.freemarker;
22
23 import org.apache.tiles.autotag.core.OutputLocator;
24 import org.apache.tiles.autotag.generate.TemplateGenerator;
25 import org.apache.tiles.autotag.generate.TemplateGeneratorBuilder;
26 import org.apache.tiles.autotag.generate.TemplateGeneratorFactory;
27 import org.apache.velocity.app.VelocityEngine;
28
29
30
31
32
33
34 public class FMTemplateGeneratorFactory implements TemplateGeneratorFactory {
35
36
37
38
39 private OutputLocator classesOutputLocator;
40
41
42
43
44 private VelocityEngine velocityEngine;
45
46
47
48
49 private TemplateGeneratorBuilder templateGeneratorBuilder;
50
51
52
53
54
55
56
57
58 public FMTemplateGeneratorFactory(OutputLocator classesOutputLocator,
59 VelocityEngine velocityEngine, TemplateGeneratorBuilder templateGeneratorBuilder) {
60 this.classesOutputLocator = classesOutputLocator;
61 this.velocityEngine = velocityEngine;
62 this.templateGeneratorBuilder = templateGeneratorBuilder;
63 }
64
65 @Override
66 public TemplateGenerator createTemplateGenerator() {
67 return templateGeneratorBuilder
68 .setClassesOutputLocator(classesOutputLocator)
69 .addClassesTemplateSuiteGenerator(
70 new FMModelRepositoryGenerator(velocityEngine))
71 .addClassesTemplateClassGenerator(
72 new FMModelGenerator(velocityEngine)).build();
73 }
74
75 }