1 package org.apache.turbine.modules;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import org.apache.turbine.util.RunData;
23
24 /***
25 * This is the base class that defines what a Layout module is.
26 *
27 * @author <a href="mailto:mbryson@mont.mindspring.com">Dave Bryson</a>
28 * @version $Id: Layout.java 534527 2007-05-02 16:10:59Z tv $
29 */
30 public abstract class Layout
31 extends Assembler
32 {
33 /***
34 * A subclass must override this method to build itself.
35 * Subclasses override this method to store the layout in RunData
36 * or to write the layout to the output stream referenced in
37 * RunData.
38 *
39 * @param data Turbine information.
40 * @exception Exception a generic exception.
41 */
42 protected abstract void doBuild(RunData data)
43 throws Exception;
44
45 /***
46 * Subclasses can override this method to add additional
47 * functionality. This method is protected to force clients to
48 * use LayoutLoader to build a Layout.
49 *
50 * @param data Turbine information.
51 * @exception Exception a generic exception.
52 */
53 protected void build(RunData data)
54 throws Exception
55 {
56 doBuild(data);
57 }
58 }