oracle.portal.provider.v1
Interface PortletRenderRequest

All Known Implementing Classes:
ServletPortletRenderRequest

public interface PortletRenderRequest

The PortletRenderRequest contains all the request details a renderer needs to process the request and output its rendition. A single renderer is responsible for rendering each of the Portlet render modes (see getMode()).

When this renderer is running in a servlet environment (HttpProviders) the servlet (base) objects are accessible as attributes of the PortletRendererRequest. To get the HttpServletRequest object call: renderRequest.getAttribute(HttpProvider.SERVLET_REQUEST).
To get the HttpServletResponse object call: renderRequest.getAttribute(HttpProvider.SERVLET_RESPONSE).
To get the ServletContext object call: renderRequest.getAttribute(HttpProvider.SERVLET_CONTEXT).
To get the ServletConfig object call: renderRequest.getAttribute(HttpProvider.SERVLET_CONFIG).


Method Summary
 java.lang.String[] getAcceptContentTypes()
           
 java.lang.Object getAttribute(java.lang.String name)
          Data can be passed between object in a request via attr/value pairs hung off the RequestContext.
 java.util.Enumeration getAttributeNames()
          returns the names of this request's attributes
 java.lang.String getBackURL()
           
 java.lang.String getCharacterEncoding()
          The default IANA character encoding to be used for this request's response.
 java.lang.String getContentType()
          Gets the current contentType of this request's response.
 java.lang.Object[] getCookies()
          An array of cookies passed to this request.
 java.util.Locale getDefaultLocale()
          Returns the Portal's default Locale.
 java.lang.String getDesignURL()
           
 DeviceInfo getDeviceInfo()
           
 java.util.Locale getLocale()
          The Java Locale to be used for this response.
 java.util.Enumeration getLocales()
          Returns an Enumeration of Locale objects indicating, in decreasing order starting with the preferred locale, the locales that are acceptable to the client based on the Accept-Language header.
 java.lang.String getLoginServerURL()
           
 int getMode()
           
 java.lang.String getOriginalHeader(java.lang.String name)
          If this is a mobile request iAS Wireless will have overwritten some of the client's original HTTP headers: specifically the Accept and the UserAgent header.
 java.lang.String getPageURL()
           
 java.lang.String getParameter(java.lang.String name)
          Returns the request parameter(value) of the given name.
 java.lang.String getParameterCharacterEncoding()
          The IANA character encoding of the parameters passed with this request.
 java.util.Locale getParameterLocale()
          The Java Locale of the parameters passed with this request.
 java.util.Enumeration getParameterNames()
          Returns an enumeration containing the parameter names passed in this request.
 java.lang.String[] getParameterValues(java.lang.String name)
          Returns the values for the named request parameter.
 PortletPersonalizationManager getPersonalizationManager()
           
 PortalConfig getPortalConfig()
           
 Portlet getPortlet()
           
 PortletReference getPortletReference()
           
 java.lang.String getPreferredContentType()
           
 Provider getProvider()
           
 java.util.ResourceBundle getProviderResource()
          Returns the Provider resource associated with the Locale of this request.
 java.lang.String getQualifiedParameter(java.lang.String name)
          Returns the qualified request parameter of the given non-qualified name.
 java.util.Enumeration getQualifiedParameterNames()
          Returns an enumeration containing only those parameter names that match this portlets fully qualified name.
 java.lang.String[] getQualifiedParameterValues(java.lang.String name)
          Returns the qualified request parameter values of the given non-qualified name.
 java.lang.String getRequestURL()
           
 java.lang.String getScheme()
          The scheme we are running in.
 PortletSecurityManager getSecurityManager()
           
 java.lang.String getServerName()
          Server name.
 int getServerPort()
          Port used by this server.
 ProviderSession getSession()
          A session is an object that maintains state across requests.
 java.lang.String getURLCharSet()
          Returns the character set that was used when the parameters of the request were encoded.
 ProviderUser getUser()
           
 java.lang.String getUserAgent()
          The user agent that originated this request.
 java.io.PrintWriter getWriter()
          Returns a PrintWriter used to emit this request's response.
 java.io.PrintWriter getWriter(java.lang.String contentType)
          Returns a PrintWriter used to emit this request's response.
 java.io.PrintWriter getWriter(java.lang.String contentType, java.lang.String characterEncoding)
          Returns a PrintWriter used to emit this request's response.
 boolean hasBorder()
           
 boolean hasTitle()
           
 void removeAttribute(java.lang.String name)
          Removes an existing attribute.
 void setAttribute(java.lang.String name, java.lang.Object value)
          Data can be passed between object in a request via attr/value pairs hung off the RequestContext.
 void setCharacterEncoding(java.lang.String encoding)
          Sets the IANA character encoding to be used for this request's response.
 void setContentType(java.lang.String contentType)
          Sets the contentType for this request's response.
 boolean translateDefaultCustomizations()
          The Portal supports an edit mode that allows a page developer to create multiple language versions of a page including the default customizations.
 

Method Detail

getDesignURL

public java.lang.String getDesignURL()
                              throws java.lang.IllegalStateException
Returns:
a URL that links you to the customize page. Clients target themselves by adding a querystring to this URL.

getBackURL

public java.lang.String getBackURL()
                            throws java.lang.IllegalStateException
Returns:
the URL of the page that caused this page to display.

getPageURL

public java.lang.String getPageURL()
                            throws java.lang.IllegalStateException
Returns:
the URL of the page that invoked this portlet. Portlets use this to (re)write URLs in their response that should redisplay the portlet in this page. Note: Query string is included if applicable.

getRequestURL

public java.lang.String getRequestURL()
                               throws java.lang.IllegalStateException
Returns:
the URL that invoked this portlet. Portlets use this to (re)write HREFs in their response as these references must be absolute paths since the client browser consdiers the current target the portal. Note: Query string is included if applicable.

getLoginServerURL

public java.lang.String getLoginServerURL()
                                   throws java.lang.IllegalStateException
Returns:
the URL to the login server. Portlets use this to (re)write URLs to be directed through the login server to (re)establish session/ cookies when running from a separate cookie domain and not coming through the portal page.

getAcceptContentTypes

public java.lang.String[] getAcceptContentTypes()
                                         throws java.lang.IllegalStateException
Returns:
an array of mime-types in preference order being requested. I.e. the portal may pass a list of valid mime-types it accepts for the target device. The Portlet must emit its response in one of these mime-types. The list is ordered by reference with the first being the highest preference.

getPreferredContentType

public java.lang.String getPreferredContentType()
                                         throws java.lang.IllegalStateException
Returns:
the most preferred mime-type beign requested. This is the first entry in the array returned by getAcceptContentTypes();

hasTitle

public boolean hasTitle()
                 throws java.lang.IllegalStateException
Returns:
an indicator of whether this portlet should draw a title or not.

hasBorder

public boolean hasBorder()
                  throws java.lang.IllegalStateException
Returns:
an indicator of whether this portlet should draw its border or not.

translateDefaultCustomizations

public boolean translateDefaultCustomizations()
The Portal supports an edit mode that allows a page developer to create multiple language versions of a page including the default customizations. The boolean return value from this call indicates whether or not the Portlet is in this mode. If false the Portlet should save all edit_default customizations in the default (language) customization. If true the Portlet should save all edit_default customizations in the current language customization.

getMode

public int getMode()
            throws java.lang.IllegalStateException
Returns:
the rendering mode. The mode is defined in the various constants in PortletRenderer.

getPortletReference

public PortletReference getPortletReference()
Returns:
the portlet reference for the instance we are intended to render. This is the object that represents what (the instance) we are rendering.

getUser

public ProviderUser getUser()
Returns:
the user making this request.

getDeviceInfo

public DeviceInfo getDeviceInfo()
Returns:
the device information for this request.

getPortalConfig

public PortalConfig getPortalConfig()
Returns:
an object containing information pertinent to the portlet about how the portal is currently configured. Currently, only a single state is defined: mobileEnabled. Portlets may use this information to add customization fields to its screens or help information that pertain to mobile.

getOriginalHeader

public java.lang.String getOriginalHeader(java.lang.String name)
If this is a mobile request iAS Wireless will have overwritten some of the client's original HTTP headers: specifically the Accept and the UserAgent header. These routines give you access to the original values. Note: if the values haven't been overwritten then its assumed that the standard headers contain the original values. In this situation these methods return the values for the standard headers. In this way these methods always give you access to the header values as they originated from the client whether or not they have been overwritten.
Parameters:
name - the header name you want the original value for. I.e. if you pass "Accept" you will receive the original value of "Accept" whether its been overwritten or not.

getProvider

public Provider getProvider()
Returns:
the Provider associated with this request. This is equivalent to calling getPortletReference().getPortlet().getProvider().

getPortlet

public Portlet getPortlet()
Returns:
the Portlet associated with this request. This is equivalent to calling getPortletReference().getPortlet().

getSecurityManager

public PortletSecurityManager getSecurityManager()
Returns:
the PortletSecurityManager controlling this request. This is equivalent to getPortletReference().getPortlet().getSecurityManager();

getPersonalizationManager

public PortletPersonalizationManager getPersonalizationManager()
Returns:
the PortletPersonalizationManager controlling this request. This is equivalent to getPortletReference().getPortlet().getPortletPersonalizationManager();

getScheme

public java.lang.String getScheme()
The scheme we are running in. Most commonly this will return http. Return value will be null if not running in any scheme. This can occur if running outside the context of a request as in a batch program filling a cache on the server.

getUserAgent

public java.lang.String getUserAgent()
The user agent that originated this request. May be null if user-agent is local.

getServerName

public java.lang.String getServerName()
Server name. Used to reconstruct absolute paths back to server.

getServerPort

public int getServerPort()
Port used by this server. Used to reconstruct absolute paths back to server.

getParameter

public java.lang.String getParameter(java.lang.String name)
Returns the request parameter(value) of the given name. If there are duplicates the first value is returned. Returned Parameter values are encoded using the RequestContext's encoding. By default this is ISO-8859-1.
Parameters:
name - the name of the parameter whose value is requested.

getQualifiedParameter

public java.lang.String getQualifiedParameter(java.lang.String name)
Returns the qualified request parameter of the given non-qualified name. Because all portlets on a page share the same query string, portlets will often fully qualify their parameter names to the portlet instance to ensure the instance can distinguish its parameters from the others. This qualification is of the form providerId.portletId.instanceName.paramName. Utility methods are provided in PortletRendererUtil and HttpPortletRendererUtil to construct these fully qualified names.

Fully-qualified parameter names are somewhat inconvenient to use because they are dynamic. I.e. they are isntance-based. This method helps to overcome this inconvenience by allowing you to retrieve the fully qualified parameter name value passing only the non-qualified name. E.g. calling request.getQualifiedParameter("symbol") will return the value for the parameter named "curProviderId.curPortletId.curInstanceName.symbol". As with getParameter(), if there are duplicates the first value is returned. Returned Parameter values are encoded using the RequestContext's encoding. By default this is ISO-8859-1.

Parameters:
name - the unqualfied name of the parameter whose value is requested.
Returns:
the value corresponding to the fully qualified name constructed by prepending the portlet reference information to the passed parameter name.

getParameterValues

public java.lang.String[] getParameterValues(java.lang.String name)
Returns the values for the named request parameter. Returned Parameter values are encoded using the RequestContext's encoding. By default this is ISO-8859-1.
Parameters:
name - the name of the parameter whose value is requested.
Returns:
an array of Strings; one element per value associated with this parameter name.

getQualifiedParameterValues

public java.lang.String[] getQualifiedParameterValues(java.lang.String name)
Returns the qualified request parameter values of the given non-qualified name. Because all portlets on a page share the same query string, portlets will often fully qualify their parameter names to the portlet instance to ensure the instance can distinguish its parameters from the others. This qualification is of the form providerId.portletId.instanceName.paramName. Utility methods are provided in PortletRendererUtil and HttpPortletRendererUtil to construct these fully qualified names.

Fully-qualified parameter names are somewhat inconvenient to use because they are dynamic. I.e. they are isntance-based. This method helps to overcome this inconvenience by allowing you to retrieve the fully qualified parameter name value passing only the non-qualified name. E.g. calling request.getQualifiedParameterValues("symbol") will return the values for the parameter named "curProviderId.curPortletId.curInstanceName.symbol". Returned Parameter values are encoded using the RequestContext's encoding. By default this is ISO-8859-1.

Parameters:
name - the unqualfied name of the parameter whose value is requested.
Returns:
the values corresponding to the fully qualified name constructed by prepending the portlet reference information to the passed parameter name.

getParameterNames

public java.util.Enumeration getParameterNames()
Returns an enumeration containing the parameter names passed in this request.

getQualifiedParameterNames

public java.util.Enumeration getQualifiedParameterNames()
Returns an enumeration containing only those parameter names that match this portlets fully qualified name. I.e. only those parameters that are prefixed by this portlet's curProviderId.curPortletId.curInstanceName. The return values remain fully qualified. I.e. the names in the enumeration remain fully qualified -- hence you use the regular methods to access (getParameter() vs. getQualifiedParameter())

getWriter

public java.io.PrintWriter getWriter()
                              throws java.io.IOException
Returns a PrintWriter used to emit this request's response. If applicable the passed contentType is used to prepare the response (header).

Note:

Uses the content type specified by calling setContentType() or defaults the content type of the response to "text/html". Uses the character encoding set by calling setCharacterEncoding() or the default character encoding from the request

After the first call to any of the getWriter() methods the content type and character encoding cannot be changed.


getWriter

public java.io.PrintWriter getWriter(java.lang.String contentType)
                              throws java.io.IOException
Returns a PrintWriter used to emit this request's response. If applicable the passed contentType is used to prepare the response (header).

Note:

if null is passed the content type of the response is set to "text/html". Also, if the contentType doesn't contain character set information (or is null), this routine sets the character set information based on the default encoding of the request.

After the first call to any of the getWriter() methods the content type and character encoding cannot be changed.


getWriter

public java.io.PrintWriter getWriter(java.lang.String contentType,
                                     java.lang.String characterEncoding)
                              throws java.io.IOException
Returns a PrintWriter used to emit this request's response. If applicable the passed contentType and character encoding are used to prepare the response (header).

Note:

if null is passed for the content type of the response is defaulted to "text/html".

if null is passed for the character encoding and the encoding has not previously been set by calling setCharacterEncoding() it will be defaulted using the default encoding of the request.

After the first call to any of the getWriter() methods the content type and character encoding cannot be changed.


setContentType

public void setContentType(java.lang.String contentType)
Sets the contentType for this request's response. After the first call to any of the getWriter() methods the content type and character encoding cannot be changed.

getContentType

public java.lang.String getContentType()
Gets the current contentType of this request's response. After the first call to any of the getWriter() methods the content type and character encoding cannot be changed.

setCharacterEncoding

public void setCharacterEncoding(java.lang.String encoding)
Sets the IANA character encoding to be used for this request's response. After the first call to any of the getWriter() methods the content type and character encoding cannot be changed.

getCharacterEncoding

public java.lang.String getCharacterEncoding()
The default IANA character encoding to be used for this request's response. After the first call to any of the getWriter() methods the content type and character encoding cannot be changed.

getLocale

public java.util.Locale getLocale()
The Java Locale to be used for this response.

getLocales

public java.util.Enumeration getLocales()
Returns an Enumeration of Locale objects indicating, in decreasing order starting with the preferred locale, the locales that are acceptable to the client based on the Accept-Language header.

getDefaultLocale

public java.util.Locale getDefaultLocale()
Returns the Portal's default Locale. Used by portlets/personalization managers to properly default to the correct language when preferred languages aren't supported. This value may be null. When null or when the portlet doesn't support this locale the Portlet's default Locale should be used. This is accessible via the Portlet interface (getDefaultLocale()).

Alternatively, you might consider using the getDefaultLocale() method in the PortletReference interface. This method is defined to return the Portlet's default locale if the Portal hasn't passed one.


getParameterCharacterEncoding

public java.lang.String getParameterCharacterEncoding()
The IANA character encoding of the parameters passed with this request.

getParameterLocale

public java.util.Locale getParameterLocale()
The Java Locale of the parameters passed with this request.

getProviderResource

public java.util.ResourceBundle getProviderResource()
Returns the Provider resource associated with the Locale of this request. This resource contains locale specific strings for the title bar.

getSession

public ProviderSession getSession()
A session is an object that maintains state across requests. For those familiar with ServletSessions, the ProviderSession is a thin wrapper that isolates this interface from any servlet dependencies. When your provider runs in an Http/servlet environment values you get/set on the ProviderSession are passed through to the HttpSession.

getCookies

public java.lang.Object[] getCookies()
An array of cookies passed to this request. Cookies must be established in the Provider's initSession method. Again the return type is indiscriminant to isolate us from the servlet interface. When running in the Http/servlet environment the objects returned in this array are type javax.servlet.http.Cookie.

setAttribute

public void setAttribute(java.lang.String name,
                         java.lang.Object value)
Data can be passed between object in a request via attr/value pairs hung off the RequestContext. Clients are encouraged to prefix attribute names with fully qualified class names to avoid collisions. E.g. setAttribute("oracle.jdeveloper.chart.color", chartColor);
Parameters:
name - the name of the attribute.
value - the value for the attribute.

getAttribute

public java.lang.Object getAttribute(java.lang.String name)
Data can be passed between object in a request via attr/value pairs hung off the RequestContext. Clients are encouraged to prefix attribute names with fully qualified class names to avoid collisions. E.g. setAttribute("oracle.jdeveloper.chart.color", chartColor);
Parameters:
name - the name of the attribute.
Returns:
value the value for the attribute.

getAttributeNames

public java.util.Enumeration getAttributeNames()
returns the names of this request's attributes

removeAttribute

public void removeAttribute(java.lang.String name)
Removes an existing attribute.
Parameters:
name - the name of the attribute.

getURLCharSet

public java.lang.String getURLCharSet()
Returns the character set that was used when the parameters of the request were encoded. Used when encoding parameters for inclusion in a URL