1 package org.apache.turbine.services.jsp;
2
3
4 /*
5 * Licensed to the Apache Software Foundation (ASF) under one
6 * or more contributor license agreements. See the NOTICE file
7 * distributed with this work for additional information
8 * regarding copyright ownership. The ASF licenses this file
9 * to you under the Apache License, Version 2.0 (the
10 * "License"); you may not use this file except in compliance
11 * with the License. You may obtain a copy of the License at
12 *
13 * http://www.apache.org/licenses/LICENSE-2.0
14 *
15 * Unless required by applicable law or agreed to in writing,
16 * software distributed under the License is distributed on an
17 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
18 * KIND, either express or implied. See the License for the
19 * specific language governing permissions and limitations
20 * under the License.
21 */
22
23
24 import org.apache.turbine.pipeline.PipelineData;
25 import org.apache.turbine.services.TurbineServices;
26 import org.apache.turbine.util.TurbineException;
27
28 /**
29 * Facade class for the Jsp Service.
30 *
31 * @author <a href="mailto:hps@intermeta.de">Henning P. Schmiedehausen</a>
32 * @author <a href="mailto:peter@courcoux.biz">Peter Courcoux</a>
33 */
34 public abstract class TurbineJsp
35 {
36 /**
37 * Utility method for accessing the service
38 * implementation
39 *
40 * @return a JspService implementation instance
41 */
42 protected static JspService getService()
43 {
44 return (JspService) TurbineServices
45 .getInstance().getService(JspService.SERVICE_NAME);
46 }
47
48 /**
49 * Adds some convenience objects to the request. For example an instance
50 * of JspLink which can be used to generate links to other templates.
51 *
52 * @param pipelineData the Turbine PipelineData object
53 */
54 public static void addDefaultObjects(PipelineData pipelineData)
55 {
56 getService().addDefaultObjects(pipelineData);
57 }
58
59 /**
60 * executes the JSP given by templateName.
61 *
62 * @param pipelineData A PipelineData Object
63 * @param templateName The template to execute
64 * @param isForward whether to perform a forward or include.
65 *
66 * @throws TurbineException If a problem occurred while executing the JSP
67 */
68 public static void handleRequest(PipelineData pipelineData, String templateName, boolean isForward)
69 throws TurbineException
70 {
71 getService().handleRequest(pipelineData, templateName, isForward);
72 }
73
74 /**
75 * executes the JSP given by templateName.
76 *
77 * @param pipelineData A PipelineData Object
78 * @param templateName The template to execute
79 *
80 * @throws TurbineException If a problem occurred while executing the JSP
81 */
82 public static void handleRequest(PipelineData pipelineData, String templateName)
83 throws TurbineException
84 {
85 getService().handleRequest(pipelineData, templateName);
86 }
87
88 /**
89 * Returns the default buffer size of the JspService
90 *
91 * @return The default buffer size.
92 */
93 public static int getDefaultBufferSize()
94 {
95 return getService().getDefaultBufferSize();
96 }
97
98 /**
99 * Searches for a template in the default.template path[s] and
100 * returns the template name with a relative path which is required
101 * by <a href="http://java.sun.com/products/servlet/2.3/javadoc/javax/servlet/ServletContext.html#getRequestDispatcher(java.lang.String)">javax.servlet.RequestDispatcher</a>
102 *
103 * @param template The name of the template to search for.
104 *
105 * @return the template with a relative path
106 */
107 public static String getRelativeTemplateName(String template)
108 {
109 return getService().getRelativeTemplateName(template);
110 }
111 }