1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.javagen.agile.core.emitter.template;
17
18 import java.io.File;
19 import java.util.Map;
20
21 import org.javagen.agile.core.emitter.WriterFactory;
22
23 /***
24 * Generic interface for triggering templates.
25 *
26 * @author Richard Easterling
27 */
28 public interface TemplateGenerator {
29
30 /***
31 * Process template
32 *
33 * @param templatePath relative to templateBasePath
34 * @param outFile output file
35 * @param context usualy a combined context based on current model node.
36 */
37 public void gen(String templatePath, File outFile, Map<String, Object> context);
38
39 /***
40 * Base path of template locations.
41 */
42 public String getTemplateBasePath();
43
44 /***
45 * Provide a hook for tools to intercept the output sinks.
46 */
47 void setWriterFactory(WriterFactory writerFactory);
48 }