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.ecs.ConcreteElement;
23
24 import org.apache.turbine.util.InputFilterUtils;
25 import org.apache.turbine.util.RunData;
26
27 /***
28 * This is the base class that defines what a Navigation module is.
29 *
30 * @author <a href="mailto:mbryson@mont.mindspring.com">Dave Bryson</a>
31 * @author <a href="mailto:hps@intermeta.de">Henning P. Schmiedehausen</a>
32 * @version $Id: Navigation.java 534527 2007-05-02 16:10:59Z tv $
33 */
34 public abstract class Navigation
35 extends Assembler
36 {
37 /***
38 * A subclass must override this method to build itself.
39 * Subclasses override this method to store the navigation in
40 * RunData or to write the navigation to the output stream
41 * referenced in RunData.
42 *
43 * @param data Turbine information.
44 * @exception Exception a generic exception.
45 */
46 protected abstract ConcreteElement doBuild(RunData data)
47 throws Exception;
48
49 /***
50 * Subclasses can override this method to add additional
51 * functionality. This method is protected to force clients to
52 * use NavigationLoader to build a Navigation.
53 *
54 * @param data Turbine information.
55 * @exception Exception a generic exception.
56 */
57 protected ConcreteElement build(RunData data)
58 throws Exception
59 {
60 return doBuild(data);
61 }
62
63 /***
64 * This function can/should be used in any screen that will output
65 * User entered text. This will help prevent users from entering
66 * html (<SCRIPT>) tags that will get executed by the browser.
67 *
68 * @param s The string to prepare.
69 * @return A string with the input already prepared.
70 * @deprecated Use InputFilterUtils.prepareText(String s)
71 */
72 public static String prepareText(String s)
73 {
74 return InputFilterUtils.prepareText(s);
75 }
76 }