1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.creadur.tentacles;
18
19 import org.apache.velocity.app.VelocityEngine;
20
21 import java.util.Properties;
22
23 public final class Templates {
24 private final IOSystem ioSystem;
25 private final VelocityEngine engine;
26 private final TentaclesResources tentaclesResources;
27
28 public Templates(final Platform platform) {
29 this.ioSystem = platform.ioSystem();
30 this.tentaclesResources = platform.tentaclesResources();
31 final Properties properties = new Properties();
32 properties.setProperty("resource.loader.class.cache", "true");
33 properties.setProperty("resource.loaders", "class");
34 properties.setProperty("resource.loader.class.description",
35 "Velocity Classpath Resource Loader");
36 properties
37 .setProperty("resource.loader.class.class",
38 "org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader");
39 properties.setProperty("runtime.log.name",
40 Templates.class.getName());
41
42 this.engine = new VelocityEngine();
43 this.engine.init(properties);
44 }
45
46 public TemplateBuilder template(final String name) {
47 return new TemplateBuilder(name, this.ioSystem, this.engine,
48 this.tentaclesResources);
49 }
50 }