001: /*
002: * Copyright 2002 Sun Microsystems, Inc. All
003: * rights reserved. Use of this product is subject
004: * to license terms. Federal Acquisitions:
005: * Commercial Software -- Government Users
006: * Subject to Standard License Terms and
007: * Conditions.
008: *
009: * Sun, Sun Microsystems, the Sun logo, and Sun ONE
010: * are trademarks or registered trademarks of Sun Microsystems,
011: * Inc. in the United States and other countries.
012: */
013:
014: package com.sun.portal.container;
015:
016: import javax.servlet.http.HttpServletRequest;
017: import java.util.List;
018: import java.util.Map;
019:
020: /**
021: * A <code>ContainerRequest</code> encapsulates the request sent by the
022: * aggregation engine to the container.
023: **/
024: public interface ContainerRequest {
025:
026: /**
027: * Returns the HttpServletRequest.
028: *
029: * @return the HttpServletRequest
030: **/
031: public HttpServletRequest getHttpServletRequest();
032:
033: /**
034: * Returns the current window state of the channel.
035: *
036: * @return current window state
037: **/
038: public WindowState getWindowState();
039:
040: /**
041: * Returns the current mode of the channel.
042: *
043: * @return the current channel mode
044: **/
045: public ChannelMode getChannelMode();
046:
047: /**
048: * Returns the entityID of the channel that this request is directed to.
049: *
050: * @return the entity ID
051: **/
052: public String getEntityID();
053:
054: /**
055: * Sets the entityID of the channel- used in inter portlet communication
056: * @param entityID
057: */
058: public void setEntityID(String entityID);
059:
060: /**
061: * Returns the ID of the current user, or <code>null</code> if
062: * authless user.
063: *
064: * @return the userID
065: **/
066: public String getUserID();
067:
068: /**
069: * Returns an <code>List</code> of all the roles of the current user,
070: * or <code>null</code> if authless user or Roles information not available.
071: * Each value in the list is a String representation of a role value.
072: *
073: * @return the roles of the current user
074: **/
075: public List getRoles();
076:
077: /**
078: * Returns a <code>Map</code> of user related information, or
079: * <code>null</code> if authless user or UserInfo not available.
080: *
081: * @return the UserInfo map
082: **/
083: public Map getUserInfo();
084:
085: /**
086: * Returns an <code>List</code> of all the
087: * allowable window states for the current channel to be changed to in
088: * this user request. Each value in the list is a <code>WindowState
089: * </code> object.
090: *
091: * @return the allowable window states
092: **/
093: public List getAllowableWindowState();
094:
095: /**
096: * Returns an <code>List</code> of all the
097: * allowable channel modes for the current channel to be changed to in
098: * this user request. Each value in the list is a <code>ChannelMode
099: * </code> object.
100: *
101: * @return the allowable channel modes
102: **/
103: public List getAllowableChannelMode();
104:
105: /**
106: * Returns an <code>List</code> of all the
107: * allowable content type for the current channel.
108: *
109: * @return the allowable content types
110: **/
111: public List getAllowableContentType();
112:
113: /**
114: * Returns the instance of ChannelURLFactory used by the
115: * caller to help container manage URLs.
116: *
117: * @return instance of ChannelURLFactory used by caller
118: **/
119: public ChannelURLFactory getChannelURLFactory();
120:
121: /**
122: * Returns the character encoding of the current request.
123: *
124: * @return the character encoding
125: **/
126: public String getCharacterEncoding();
127:
128: /**
129: * Returns whether the request is allowed to cause any persistence
130: * change during execution.
131: *
132: * @return read only value
133: **/
134: public boolean getIsReadOnly();
135:
136: }
|