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.velocity;
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
35 public class VelocityTemplateGeneratorFactory implements
36 TemplateGeneratorFactory {
37
38
39
40
41 private OutputLocator classesOutputLocator;
42
43
44
45
46 private OutputLocator resourcesOutputLocator;
47
48
49
50
51 private VelocityEngine velocityEngine;
52
53
54
55
56 private TemplateGeneratorBuilder templateGeneratorBuilder;
57
58
59
60
61
62
63
64
65
66 public VelocityTemplateGeneratorFactory(OutputLocator classesOutputLocator,
67 OutputLocator resourcesOutputLocator, VelocityEngine velocityEngine,
68 TemplateGeneratorBuilder templateGeneratorBuilder) {
69 this.classesOutputLocator = classesOutputLocator;
70 this.resourcesOutputLocator = resourcesOutputLocator;
71 this.velocityEngine = velocityEngine;
72 this.templateGeneratorBuilder = templateGeneratorBuilder;
73 }
74
75 @Override
76 public TemplateGenerator createTemplateGenerator() {
77 return templateGeneratorBuilder
78 .setClassesOutputLocator(classesOutputLocator)
79 .setResourcesOutputLocator(resourcesOutputLocator)
80 .addResourcesTemplateSuiteGenerator(
81 new VelocityPropertiesGenerator(velocityEngine))
82 .addClassesTemplateClassGenerator(
83 new VelocityDirectiveGenerator(velocityEngine)).build();
84 }
85
86 }