Oracle Fusion Middleware
Java API Reference for Oracle PDK Java
11g Release 1 (11.1.1)
E10691-01

oracle.portal.provider.v2.render
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 the servlet (base) objects are accessible as attributes of the PortletRendererRequest. To get the HttpServletRequest object call: renderRequest.getAttribute(HttpCommonConstants.SERVLET_REQUEST).
To get the ServletContext object call: renderRequest.getAttribute(HttpCommonConstants.SERVLET_CONTEXT).
To get the ServletConfig object call: renderRequest.getAttribute(HttpCommonConstants.SERVLET_CONFIG).


Field Summary
static java.lang.String IS_PORTLET
          An attribute to indicate the request is a portal request.
 
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 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.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.
 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 getParameter(java.lang.String name)
          Returns the request parameter(value) of the given name.
 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.
 PortletDefinition getPortletDefinition()
          Gets the PortletDefinition associated with this request.
 PortletInstance getPortletInstance()
           
 PortletReference getPortletReference()
           
 java.lang.String getPreferredContentType()
           
 ProviderInstance getProviderInstance()
          Gets the ProviderInstance associated with this request.
 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.
 RenderContext getRenderContext()
           
 java.lang.String getRequestURL()
           
 java.lang.String getScheme()
          The scheme we are running in.
 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.
 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 setContentType(java.lang.String contentType)
          Sets the contentType for this request's response.
 

Field Detail

IS_PORTLET

static final java.lang.String IS_PORTLET
An attribute to indicate the request is a portal request. Used by JSPs that run in a stand-alone or portlet environment.

See Also:
Constant Field Values
Method Detail

getRenderContext

RenderContext getRenderContext()
Returns:
an object containing parameters to this PortletRenderRequest

getAcceptContentTypes

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.
Throws:
java.lang.IllegalStateException

getPreferredContentType

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();
Throws:
java.lang.IllegalStateException

getMode

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

getRequestURL

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 considers the current target the portal. Note: request parameters are always returned as part of the URLs querystring regardless of whether the request was received via an HTTP GET or POST.
Throws:
java.lang.IllegalStateException

getPortletReference

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

getPortletInstance

PortletInstance getPortletInstance()
Returns:
the portlet instance we are intended to render.

getUser

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

getOriginalHeader

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.

getProviderInstance

ProviderInstance getProviderInstance()
Gets the ProviderInstance associated with this request. This is equivalent to calling getPortletInstance().getProviderInstance().


getPortletDefinition

PortletDefinition getPortletDefinition()
Gets the PortletDefinition associated with this request. This is equivalent to calling getPortletInstance().getPortletDefinition().


getScheme

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

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


getServerName

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


getServerPort

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


getParameter

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

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

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

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

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


getQualifiedParameterNames

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

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:

if null is passed the content type of the response is set to "text/html". The character encoding used is based on the default encoding of the request.

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

Throws:
java.io.IOException

getWriter

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:

Uses the content type specified by calling setContentType() or defaults the content type of the response to "text/html". The character encoding used is 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.

Throws:
java.io.IOException

setContentType

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

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.


getLocale

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


getLocales

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

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.


getProviderResource

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

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

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

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

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

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


removeAttribute

void removeAttribute(java.lang.String name)
Removes an existing attribute.

Parameters:
name - the name of the attribute.

getURLCharSet

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


Oracle Fusion Middleware
Java API Reference for Oracle PDK Java
11g Release 1 (11.1.1)
E10691-01

Copyright (c) 1999, 2009, Oracle and/or its affiliates. All rights reserved.