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: /*
018:
019: */
020:
021: package org.apache.wsrp4j.consumer;
022:
023: import oasis.names.tc.wsrp.v1.types.StateChange;
024:
025: /**
026: * The consumer capababilities provides access to consumer related information.
027: *
028: * @author <a href='mailto:peter.fischer@de.ibm.com'>Peter Fischer</a>
029: */
030: public interface ConsumerCapabilities {
031:
032: /**
033: * Get the name of the consumer
034: *
035: * @return The name of the consumer
036: **/
037: public String getConsumerAgent();
038:
039: /**
040: * Get the method which is used by the consumer to authenticate its users.
041: *
042: * @return String indicating how end-users were authenticated by the consumer.
043: **/
044: public String getUserAuthentication();
045:
046: /**
047: * Get the locales which are supported by the consumer.
048: * (ISO-639 + "_" + ISO-3166)
049: *
050: * @return Array with string representations of the locales which are
051: * supported by the consumer
052: **/
053: public String[] getSupportedLocales();
054:
055: /**
056: * Get the portlet modes the consumer is willing to manage.
057: *
058: * @return Array with string representations of the portlet modes which are
059: * supported by the consumer
060: **/
061: public String[] getSupportedModes();
062:
063: /**
064: * Get the window states the consumer is willing to manage.
065: *
066: * @return Array with string representations of the window states which are
067: * supported by the consumer
068: **/
069: public String[] getSupportedWindowStates();
070:
071: /**
072: * Returns a flag which is used to indicate the producer wether or not
073: * the processing of portlets is allowed to modify the portlet state.
074: *
075: * @return A flag
076: **/
077: public StateChange getPortletStateChange();
078:
079: /**
080: * Get the character sets the consumer wants the remote portlet to use for encoding the markup.
081: * Valid character sets are defined <a href='http://www.iana.org/assignments/character-sets'>here</a>
082: *
083: * @return Array of string representations of the character encoding.
084: **/
085: public String[] getCharacterEncodingSet();
086:
087: /**
088: * Get an array of mime types which are supported by the consumer.
089: * The order in the array defines the order of preference of the consumer.
090: *
091: * @return An array of mimes types the consumer supports.
092: **/
093: public String[] getMimeTypes();
094:
095: /**
096: * Set the name of the consumer
097: *
098: * @param name The new name of the consumer
099: **/
100: public void setConsumerAgent(String name);
101:
102: /**
103: * Set the method of end user authentication used by the consumer..
104: *
105: * @param authMethod indicating how end-users are authenticated by the consumer.
106: **/
107: public void setUserAuthentication(String authMethod);
108:
109: /**
110: * Set the mime types the consumer supports
111: * The order in the array defines the order of preference of the consumer.
112: *
113: * @param mimeTypes An array of mimes types the consumer supports.
114: **/
115: public void setMimeTypes(String[] mimeTypes);
116:
117: /**
118: * Set the locales which are supported by the consumer.
119: * Pattern: ISO-639 + "_" + ISO-3166
120: *
121: * @param locales Array of string representations of supported locales
122: **/
123: public void setSupportedLocales(String[] locales);
124:
125: /**
126: * Set the portlet modes which are supported by the consumer.
127: *
128: * @param modes Array of string representations of portlet modes
129: **/
130: public void setSupportedModes(String[] modes);
131:
132: /**
133: * Set the window states which are supported by the consumer.
134: *
135: * @param states Array of string representations of window states
136: **/
137: public void setSupportedWindowStates(String[] states);
138:
139: /**
140: * Set a flag which is used to indicate the producer wether or not
141: * the processing of portlets is allowed to modify the portlet state.
142: *
143: * @param portletStateChange A flag with one of the following values:
144: * StateChange.OK, StateChange.Clone, StateChange.Fault
145: **/
146: public void setPortletStateChange(StateChange portletStateChange);
147:
148: /**
149: * Set the character set the consumer wants the remote portlet to use for encoding the markup.
150: * Valid character sets are defined <a href='http://www.iana.org/assignments/character-sets'>here</a>
151: *
152: * @param charEncoding Array of string representations of the character encoding.
153: **/
154: public void setCharacterEncodingSet(String[] charEncoding);
155:
156: }
|