This project has retired. For details please refer to its
Attic page.
DefinitionDirective xref
1
2
3
4 package org.apache.tiles.velocity.template;
5
6 import java.io.IOException;
7 import java.io.Writer;
8
9 import org.apache.tiles.autotag.core.runtime.ModelBody;
10 import org.apache.tiles.autotag.core.runtime.AutotagRuntime;
11 import org.apache.velocity.context.InternalContextAdapter;
12 import org.apache.velocity.runtime.directive.Directive;
13 import org.apache.velocity.runtime.parser.node.Node;
14
15
16
17
18
19
20
21
22
23
24 public class DefinitionDirective extends Directive {
25
26
27
28
29 private org.apache.tiles.template.DefinitionModel model = new org.apache.tiles.template.DefinitionModel();
30
31
32 @Override
33 public String getName() {
34 return "tiles_definition";
35 }
36
37
38 @Override
39 public int getType() {
40 return BLOCK;
41 }
42
43
44 @Override
45 public boolean render(InternalContextAdapter context, Writer writer, Node node)
46 throws IOException {
47 AutotagRuntime<org.apache.tiles.request.Request> runtime = new org.apache.tiles.request.velocity.autotag.VelocityAutotagRuntime();
48 if (runtime instanceof Directive) {
49 ((Directive) runtime).render(context, writer, node);
50 }
51 org.apache.tiles.request.Request request = runtime.createRequest();
52 ModelBody modelBody = runtime.createModelBody();
53 model.execute(
54 runtime.getParameter("name", java.lang.String.class, null),
55 runtime.getParameter("template", java.lang.String.class, null),
56 runtime.getParameter("role", java.lang.String.class, null),
57 runtime.getParameter("extends", java.lang.String.class, null),
58 runtime.getParameter("preparer", java.lang.String.class, null),
59 request, modelBody
60 );
61 return true;
62 }
63 }