Source code: com/newsfighter/layout/Skinnable.java
1 /*
2 * Skinnable.java
3 *
4 * Created on March 11, 2003, 8:42 PM
5 */
6
7 package com.newsfighter.layout;
8
9 import javax.servlet.jsp.*;
10 import javax.servlet.jsp.tagext.*;
11
12 /** <!-- =============================================================== -->
13 * Skinnable provides a common interface for all of the layout component
14 * classes.
15 *
16 * @author <a href="mailto:n_alex_rupp@users.sourceforge.net">N. Alex Rupp</a>
17 */
18 public interface Skinnable {
19
20 /** <!-- =============================================================== -->
21 * This method returns the value of <code>this.skin</code>.
22 *
23 * @return <code>this.skin</code>
24 */
25 String getSkin();
26
27 /** <!-- =============================================================== -->
28 * This method interfaces with the Servlet/JSP container. Its contents
29 * are set by the end-user in the JSP tag.
30 *
31 * @param skinName The name of the skin whose information should be
32 * requested from the SkinFactory
33 */
34 void setSkin(String skinName);
35
36 /** <!-- =============================================================== -->
37 * Returns a reference to the SkinFactory JMX service
38 *
39 * @return <code>SkinFactory</code>
40 */
41 SkinFactory getSkinFactory();
42
43 /** <!-- =============================================================== -->
44 * If getSkinFactory cannot find the JMX service, this initializes the
45 * SkinFactory service.
46 */
47 void initSkinFactory();
48
49 /** <!-- =============================================================== -->
50 * Gets the name of the enclosing Tag's skin.
51 *
52 * @return <code>String</code>
53 */
54 String getEnclosingSkin();
55
56 /** <!-- =============================================================== -->
57 * This invokes getAncestorWithClass() and returns the enclosing Tag.
58 * the implementation also determines the type of enclosing tag,
59 * whether it be a <code>ManagerTag</code>, a <code>PanelsTag</code> or
60 * whatnot. Error checking should also be handled by the implementation.
61 *
62 * @return <code>Tag</code>
63 */
64 Tag getEnclosingTag();
65
66
67 }