KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > jetspeed > portlet > PortletWindow


1 /* ====================================================================
2  * The Apache Software License, Version 1.1
3  *
4  * Copyright (c) 2000-2001 The Apache Software Foundation. All rights
5  * reserved.
6  *
7  * Redistribution and use in source and binary forms, with or without
8  * modification, are permitted provided that the following conditions
9  * are met:
10  *
11  * 1. Redistributions of source code must retain the above copyright
12  * notice, this list of conditions and the following disclaimer.
13  *
14  * 2. Redistributions in binary form must reproduce the above copyright
15  * notice, this list of conditions and the following disclaimer in
16  * the documentation and/or other materials provided with the
17  * distribution.
18  *
19  * 3. The end-user documentation included with the redistribution,
20  * if any, must include the following acknowledgment:
21  * "This product includes software developed by the
22  * Apache Software Foundation (http://www.apache.org/)."
23  * Alternately, this acknowledgment may appear in the software itself,
24  * if and wherever such third-party acknowledgments normally appear.
25  *
26  * 4. The names "Apache" and "Apache Software Foundation" and
27  * "Apache Jetspeed" must not be used to endorse or promote products
28  * derived from this software without prior written permission. For
29  * written permission, please contact apache@apache.org.
30  *
31  * 5. Products derived from this software may not be called "Apache" or
32  * "Apache Jetspeed", nor may "Apache" appear in their name, without
33  * prior written permission of the Apache Software Foundation.
34  *
35  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
36  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
37  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
38  * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
39  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
40  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
41  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
42  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
43  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
44  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
45  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
46  * SUCH DAMAGE.
47  * ====================================================================
48  *
49  * This software consists of voluntary contributions made by many
50  * individuals on behalf of the Apache Software Foundation. For more
51  * information on the Apache Software Foundation, please see
52  * <http://www.apache.org/>.
53  */

54
55 package org.apache.jetspeed.portlet;
56
57 import org.apache.jetspeed.portlet.event.WindowListener;
58
59 /**
60  ** The <CODE>PortletWindow</CODE> represents the window that encloses
61  ** a portlet. The portlet window can send events on manipulation of its
62  ** various window controls, like the "minimize" or "close" buttons.
63  ** But a portlet also interrogate the portlet window about its current
64  ** visibility state. For example, a portlet may render its content
65  ** differently depending on whether its window is maximized or not.
66  **
67  ** @author <A HREF="mailto:tboehme@us.ibm.com">Thomas F. Boehme</A>
68  **/

69
70 public interface PortletWindow
71 {
72     /**
73      ** The <CODE>State</CODE> class is a finite enumeration of
74      ** the possible states that a window can assume.
75      **/

76
77     public static class State implements java.io.Serializable JavaDoc
78     {
79         /**
80          ** The standard "one-of many" window state on a page.
81          **/

82
83         public final static State NORMAL = new State ("Normal", 0);
84
85         /**
86          ** In this window state the portlet is displayed maximized
87          ** which means that it is the only portlet shown on the page.
88          **/

89
90         public final static State MAXIMIZED = new State ("Maximized", 1);
91
92         /**
93          ** In this window state the portlet is displayed minimzed
94          ** which means that only the portlet title is shown
95          **/

96
97         public final static State MINIMIZED = new State ("Minimized", 2);
98
99         /**
100          ** Allows the portlet window to be detached of the normal
101          ** content view of the portal and thus be shown in a separate
102          ** window.
103          **/

104
105         public final static State DETACHED = new State ("Detached", 3);
106
107         /**
108          ** Allows the portlet window to be moved
109          **/

110
111         public final static State MOVING = new State ("Moving", 4);
112
113         /**
114          ** Allows the portlet window to be resized
115          **/

116
117         public final static State RESIZING = new State ("Resizing", 5);
118
119         /**
120          ** The window is or will be closed and thus is not shown on the
121          ** portal page anymore.
122          **/

123
124         public final static State CLOSED = new State ("Closed", 6);
125
126         private String JavaDoc identifier;
127
128         private int value;
129
130         private State (String JavaDoc identifier, int value)
131         {
132             this.identifier = identifier;
133             this.value = value;
134         }
135
136         public int getId()
137         {
138             return value;
139         }
140
141         public String JavaDoc toString ()
142         {
143             return (identifier);
144         }
145     }
146
147     /**
148      ** Returns the title of this window. This method returns
149      ** either a dynamic title or a static title
150      ** from the portlet configuration.
151      **
152      ** @return the portlet title
153      **/

154
155     public String JavaDoc getTitle ();
156
157     /**
158      ** Returns whether this portlet window is currently detached.
159      **
160      ** @return <CODE>true</CODE> if this window is detached, <BR>
161      ** <CODE>false</CODE> otherwise
162      **/

163
164     public boolean isDetached ();
165
166     /**
167      ** Returns whether this portlet window is currently maximized.
168      **
169      ** @return <CODE>true</CODE> if this window is maximized, <BR>
170      ** <CODE>false</CODE> otherwise
171      **/

172
173     public boolean isMaximized ();
174
175     /**
176      ** Returns whether this portlet window is currently minimized.
177      **
178      ** @return <CODE>true</CODE> if this window is minimized, <BR>
179      ** <CODE>false</CODE> otherwise
180      **/

181
182     public boolean isMinimized ();
183
184 }
185
Popular Tags