01: /*
02: * Title: Decorator
03: * Description:
04: *
05: * This software is published under the terms of the OpenSymphony Software
06: * License version 1.1, of which a copy has been included with this
07: * distribution in the LICENSE.txt file.
08: */
09:
10: package com.opensymphony.module.sitemesh;
11:
12: import java.util.Iterator;
13:
14: /**
15: * Representation of a Decorator.
16: *
17: * <p>A Decorator is infact a Servlet/JSP, and this is a wrapper to reference it.
18: * An implementation is returned by the {@link com.opensymphony.module.sitemesh.DecoratorMapper}.</p>
19: *
20: * @author <a href="mailto:joe@truemesh.com">Joe Walnes</a>
21: * @version $Revision: 1.1 $
22: */
23: public interface Decorator {
24: /**
25: * URI of the Servlet/JSP to dispatch the request to (relative to the
26: * web-app context).
27: */
28: String getPage();
29:
30: /** Name of the Decorator. For informational purposes only. */
31: String getName();
32:
33: /** URI path of the Decorator. Enables support for decorators defined in seperate web-apps. */
34: String getURIPath();
35:
36: /** Role the user has to be in to get this decorator applied. */
37: String getRole();
38:
39: /**
40: * Returns a String containing the value of the named initialization parameter,
41: * or null if the parameter does not exist.
42: *
43: * @param paramName Key of parameter.
44: * @return Value of the parameter or null if not found.
45: */
46: String getInitParameter(String paramName);
47:
48: /**
49: * Returns the names of the Decorator's initialization parameters as an Iterator
50: * of String objects, or an empty Iterator if the Decorator has no initialization parameters.
51: */
52: Iterator getInitParameterNames();
53: }
|