1 /*
2 * $Id$
3 *
4 * Licensed to the Apache Software Foundation (ASF) under one
5 * or more contributor license agreements. See the NOTICE file
6 * distributed with this work for additional information
7 * regarding copyright ownership. The ASF licenses this file
8 * to you under the Apache License, Version 2.0 (the
9 * "License"); you may not use this file except in compliance
10 * with the License. You may obtain a copy of the License at
11 *
12 * http://www.apache.org/licenses/LICENSE-2.0
13 *
14 * Unless required by applicable law or agreed to in writing,
15 * software distributed under the License is distributed on an
16 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17 * KIND, either express or implied. See the License for the
18 * specific language governing permissions and limitations
19 * under the License.
20 */
21
22 package org.apache.struts.tiles;
23
24 import java.io.IOException;
25 import java.io.Serializable;
26
27 import jakarta.servlet.ServletContext;
28 import jakarta.servlet.ServletException;
29 import jakarta.servlet.http.HttpServletRequest;
30 import jakarta.servlet.http.HttpServletResponse;
31
32 /**
33 * A controller is a piece of code called before rendering a jsp page.
34 * A controller can be associated to a tile. See <insert> or
35 * <definition> for association syntax.
36 */
37 public interface Controller extends Serializable {
38
39 /**
40 * Method associated to a tile and called immediately before the tile
41 * is included.
42 *
43 * @param tileContext Current tile context.
44 * @param request Current request
45 * @param response Current response
46 * @param servletContext Current servlet context
47 * @deprecated Use execute() instead. This will be removed after
48 * Struts 1.2.
49 */
50 @Deprecated
51 public void perform(
52 ComponentContext tileContext,
53 HttpServletRequest request,
54 HttpServletResponse response,
55 ServletContext servletContext)
56 throws ServletException, IOException;
57
58 /**
59 * Method associated to a tile and called immediately before the tile
60 * is included.
61 *
62 * @param tileContext Current tile context.
63 * @param request Current request
64 * @param response Current response
65 * @param servletContext Current servlet context
66 */
67 public void execute(
68 ComponentContext tileContext,
69 HttpServletRequest request,
70 HttpServletResponse response,
71 ServletContext servletContext)
72 throws Exception;
73 }