| PortletSession.java |
1 /*
2 * Copyright 2000-2001,2004 The Apache Software Foundation.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17 package org.apache.wsrp4j.consumer;
18
19 import java.util.Iterator;
20
21 import oasis.names.tc.wsrp.v1.types.SessionContext;
22
23 /**
24 * Defines a session object at the consumer-side
25 * to store remote portlet related information that
26 * are needed to interact with the portlet.
27 * Since a session context is not mandatory in WSRP
28 * a consumer portlet instance key is taken to
29 * uniquely identify a portlet session.
30 *
31 **/
32 public interface PortletSession {
33 /**
34 * Get the portlet handle which uniquely identifies the
35 * portlet session at the consumer side.
36 *
37 * @return The portlet handle
38 **/
39 public String getPortletHandle();
40
41 /**
42 * Set the portlet handle of the portlet
43 * this session belongs to.
44 *
45 * @param portletHandle The portlet handle
46 **/
47 public void setPortletHandle(String portletHandle);
48
49 /**
50 * Get the WSRP session context of
51 * the portlet instance. If no session context was set
52 * from the producer this method returns null.
53 *
54 * @return The the session context if set from the producer
55 * or null otherwise.
56 **/
57 public SessionContext getSessionContext();
58
59 /**
60 * Set the session context of the portlet instance.
61 *
62 * @param sessionContext The session context.
63 **/
64 public void setSessionContext(SessionContext sessionContext);
65
66 /**
67 * Get the <code>SimplePortletWindowSession</code> of the portlet window with the given ID.
68 *
69 * @param windowID The ID of the portlet window
70 * @return The <code>PorletWindowSession</code> with the given ID.
71 **/
72 public PortletWindowSession getPortletWindowSession(String windowID);
73
74 /**
75 * Get all window session which belong to the portlet session
76 *
77 * @return An Iterator of <code>SimplePortletWindowSession</code> objects.
78 **/
79 public Iterator getAllPorletWindowSessions();
80
81 /**
82 * Remove the porlet window session with the given window id.
83 *
84 * @param windowID The ObjectID of the portlet window whichs session shoul dbe removed
85 * @return The portlet window session which has been removed or null if the session did not exist.
86 **/
87 public PortletWindowSession removePortletWindowSession(String windowID);
88
89 /**
90 * Remove all portlet window sessions which belong to this portlet session.
91 **/
92 public void removeAllPortletWindowSessions();
93 }