1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 package org.apache.tiles.velocity.template;
23
24 import java.io.Writer;
25 import java.util.Map;
26
27 import javax.servlet.ServletContext;
28 import javax.servlet.http.HttpServletRequest;
29 import javax.servlet.http.HttpServletResponse;
30
31 import org.apache.tiles.servlet.context.ServletUtil;
32 import org.apache.tiles.template.InsertDefinitionModel;
33 import org.apache.velocity.context.InternalContextAdapter;
34
35 /***
36 * Wraps {@link InsertDefinitionModel} to be used in Velocity. For the list of
37 * parameters, see
38 * {@link InsertDefinitionModel#start(org.apache.tiles.TilesContainer, Object...)}
39 * , {@link InsertDefinitionModel#end(org.apache.tiles.TilesContainer,
40 * String, String, String, String, String, String, Object...)} and
41 * {@link InsertDefinitionModel#execute(org.apache.tiles.TilesContainer,
42 * String, String, String, String, String, String, Object...)}.
43 *
44 * @version $Rev: 902403 $ $Date: 2010-01-23 14:31:17 +0100 (sab, 23 gen 2010) $
45 * @since 2.2.2
46 */
47 public class InsertDefinitionDirective extends BlockDirective {
48
49 /***
50 * The template model.
51 */
52 private InsertDefinitionModel model = new InsertDefinitionModel();
53
54 /***
55 * Default constructor.
56 *
57 * @since 2.2.2
58 */
59 public InsertDefinitionDirective() {
60
61 }
62
63 /***
64 * Constructor.
65 *
66 * @param model The used model.
67 * @since 2.2.2
68 */
69 public InsertDefinitionDirective(InsertDefinitionModel model) {
70 this.model = model;
71 }
72
73 /*** {@inheritDoc} */
74 @Override
75 public String getName() {
76 return "tiles_insertDefinition";
77 }
78
79 /*** {@inheritDoc} */
80 @Override
81 protected void end(InternalContextAdapter context, Writer writer,
82 Map<String, Object> params, HttpServletRequest request,
83 HttpServletResponse response, ServletContext servletContext) {
84 model.end(ServletUtil.getCurrentContainer(request,
85 servletContext), (String) params.get("name"), (String) params
86 .get("template"), (String) params.get("templateType"),
87 (String) params.get("templateExpression"), (String) params
88 .get("role"), (String) params.get("preparer"), context,
89 request, response, writer);
90 }
91
92 /*** {@inheritDoc} */
93 @Override
94 protected void start(InternalContextAdapter context, Writer writer,
95 Map<String, Object> params, HttpServletRequest request,
96 HttpServletResponse response, ServletContext servletContext) {
97 model.start(ServletUtil.getCurrentContainer(request,
98 servletContext), context, request, response);
99 }
100
101 }