001: /*
002: * Copyright 2000-2001,2004 The Apache Software Foundation.
003: *
004: * Licensed under the Apache License, Version 2.0 (the "License");
005: * you may not use this file except in compliance with the License.
006: * You may obtain a copy of the License at
007: *
008: * http://www.apache.org/licenses/LICENSE-2.0
009: *
010: * Unless required by applicable law or agreed to in writing, software
011: * distributed under the License is distributed on an "AS IS" BASIS,
012: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013: * See the License for the specific language governing permissions and
014: * limitations under the License.
015: */
016:
017: package org.apache.wsrp4j.consumer;
018:
019: import oasis.names.tc.wsrp.v1.types.ClientData;
020:
021: /**
022: * The <code>WSRPRequest</code> is the base interface for all
023: * requests to a consumer side invocation of a integrated remote portlet.
024: * Specialized interfaces exist for markup and action calls.
025: *
026: * @see MarkupRequest
027: * @see InteractionRequest
028: *
029: **/
030: public interface WSRPBaseRequest {
031: /**
032: * Get the ID of the session context
033: *
034: * @return The session context
035: **/
036: public String getSessionID();
037:
038: /**
039: * Get an opaque string which corresponds to a unique reference to this use of the portlet.
040: *
041: * @return The portlet instance key
042: **/
043: public String getPortletInstanceKey();
044:
045: /**
046: * Get the current navigational state of the portlet
047: *
048: * @return The navigational state
049: **/
050: public String getNavigationalState();
051:
052: /**
053: * Get the current window state of the portlet
054: *
055: * @return The window state
056: **/
057: public String getWindowState();
058:
059: /**
060: * Get the current mode of the portlet
061: *
062: * @return The mode of the portlet
063: **/
064: public String getMode();
065:
066: /**
067: * Get the <code>ClientData</code> structure which carries
068: * information about the end user agent.
069: *
070: * @return The <code>ClientData</code> specifying the user agent.
071: **/
072: public ClientData getClientData();
073:
074: /**
075: * Get the locales which are supported by the portlet according to the client connecting to it.
076: * The Locales returned are in the form of (ISO-639 + "-" + ISO-3166)
077: *
078: * @return Array with string representations of the locales which are
079: * supported by the consumer
080: **/
081: public String[] getLocales();
082:
083: /**
084: * Get the list of wsrp modes which are supported by the portlet.
085: * This should returned the list of all actuall supported modes and
086: * not necessarily the modes returned in the portlet description of the producer.
087: *
088: * @return Array with string representations of the portlet modes
089: * supported by the portlet or null
090: **/
091: public String[] getModes();
092:
093: /**
094: * Get the list of wsrp window states which are supported by the portlet.
095: * This should returned the list of all actuall supported window states and
096: * not necessarily the window states returned in the portlet description of the producer.
097: *
098: * @return Array with string representations of the window states
099: * supported by the portlet or null
100: **/
101: public String[] getWindowStates();
102:
103: /**
104: * Get an array of mime types which are supported by the end user device.
105: * The order in the array defines the order of preference of the end user.
106: *
107: * @return An array of mimes types the consumer supports or null
108: **/
109: public String[] getMimeTypes();
110:
111: /**
112: * Get the character sets the consumer wants the remote portlet to use for encoding the markup.
113: * Valid character sets are defined <a href='http://www.iana.org/assignments/character-sets'>here</a>
114: *
115: * @return Array of string representations of the character encoding.
116: **/
117: public String[] getCharacterEncodingSet();
118:
119: /**
120: * Checks wether a given wsrp mode is supported by the portlet.
121: *
122: * @param wsrpMode The wsrp mode
123: * @return True if the mode is supported by the portlet, false otherwise
124: **/
125: public boolean isModeSupported(String wsrpMode);
126:
127: /**
128: * Checks wether a given wsrp window state is supported by the portlet.
129: *
130: * @param wsrpWindowState The wsrp window state
131: * @return True if the window state is supported by the portlet, false otherwise
132: **/
133: public boolean isWindowStateSupported(String wsrpWindowState);
134:
135: /**
136: * Get the method which is used by the consumer to authenticate its users.
137: *
138: * @return String indicating how end-users were authenticated by the consumer.
139: **/
140: public String getUserAuthentication();
141: }
|