01: /*
02: * Copyright 2000-2001,2004 The Apache Software Foundation.
03: *
04: * Licensed under the Apache License, Version 2.0 (the "License");
05: * you may not use this file except in compliance with the License.
06: * You may obtain a copy of the License at
07: *
08: * http://www.apache.org/licenses/LICENSE-2.0
09: *
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(
88: String windowID);
89:
90: /**
91: * Remove all portlet window sessions which belong to this portlet session.
92: **/
93: public void removeAllPortletWindowSessions();
94: }
|