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

oracle.portal.provider.v2.render.http
Class ServletPortletRenderRequest

java.lang.Object
  extended by oracle.portal.provider.v2.render.http.ServletPortletRenderRequest
All Implemented Interfaces:
PortletRenderRequest

public class ServletPortletRenderRequest
extends java.lang.Object
implements PortletRenderRequest

ServletPortletRenderRequest is the JPDK's base implementation of the PortletRenderRequest interface. It represents a PortletRenderRequest running in a servlet environment.


Field Summary
 
Fields inherited from interface oracle.portal.provider.v2.render.PortletRenderRequest
IS_PORTLET
 
Constructor Summary
ServletPortletRenderRequest(PortletReference ref, ProviderUser user, RenderContext rc)
          Constructs a ServletPortletRenderRequest.
 
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()
          Get the names of the attributes of this ServletPortletRenderRequest as an Enumeration of Strings.
 java.lang.String getContentType()
          Gets the current contentType for this request's response.
 java.lang.Object[] getCookies()
          A session is an object that maintains state across requests.
 java.util.Locale getDefaultLocale()
          Returns the Portal's default Locale.
 java.util.Locale getLocale()
          The preferred 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 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()
          Against a 309 Portal this 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()
          Gets the user making this request.
 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.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ServletPortletRenderRequest

public ServletPortletRenderRequest(PortletReference ref,
                                   ProviderUser user,
                                   RenderContext rc)
Constructs a ServletPortletRenderRequest.

Method Detail

getRenderContext

public RenderContext getRenderContext()
Specified by:
getRenderContext in interface PortletRenderRequest
Returns:
an object containing parameters to this PortletRenderRequest

getMode

public int getMode()
Specified by:
getMode in interface PortletRenderRequest
Returns:
an integer representing the render mode. Constants for each of the render modes are defined in the PortletRenderer interface.

getRequestURL

public java.lang.String getRequestURL()
                               throws java.lang.IllegalStateException
Specified by:
getRequestURL in interface PortletRenderRequest
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

getAcceptContentTypes

public java.lang.String[] getAcceptContentTypes()
                                         throws java.lang.IllegalStateException
Specified by:
getAcceptContentTypes in interface PortletRenderRequest
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

public java.lang.String getPreferredContentType()
                                         throws java.lang.IllegalStateException
Specified by:
getPreferredContentType in interface PortletRenderRequest
Returns:
the most preferred mime-type beign requested.
Throws:
java.lang.IllegalStateException

getPortletReference

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

getPortletInstance

public PortletInstance getPortletInstance()
Specified by:
getPortletInstance in interface PortletRenderRequest
Returns:
the portlet instance we are intended to render.

getUser

public ProviderUser getUser()
Gets the user making this request.

Specified by:
getUser in interface PortletRenderRequest
Returns:
the user making this request.

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.

Specified by:
getOriginalHeader in interface PortletRenderRequest
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

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

Specified by:
getProviderInstance in interface PortletRenderRequest

getPortletDefinition

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

Specified by:
getPortletDefinition in interface PortletRenderRequest

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.

Specified by:
getScheme in interface PortletRenderRequest

getUserAgent

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

Specified by:
getUserAgent in interface PortletRenderRequest

getServerName

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

Specified by:
getServerName in interface PortletRenderRequest

getServerPort

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

Specified by:
getServerPort in interface PortletRenderRequest

getParameter

public java.lang.String getParameter(java.lang.String name)
Returns the request parameter 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.

Specified by:
getParameter in interface PortletRenderRequest
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. 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.

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.

Specified by:
getQualifiedParameter in interface PortletRenderRequest
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.

Specified by:
getParameterValues in interface PortletRenderRequest
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. 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.

Returned Parameter values are encoded using the RequestContext's encoding. By default this is ISO-8859-1.

Specified by:
getQualifiedParameterValues in interface PortletRenderRequest
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.

Specified by:
getParameterNames in interface PortletRenderRequest

getQualifiedParameterNames

public java.util.Enumeration getQualifiedParameterNames()
Against a 309 Portal this returns an enumeration containing only those parameter names that match this portlets fully qualified name. The behaviour in 902 with passAllUrlParams==true is the same. However in 902 with passAllUrlParams==false this returns all of the parameter names passed to the portlet. In all cases you should use getParameter and getParameterValues with the names returned in the enumeration in order to get value(s).

Specified by:
getQualifiedParameterNames in interface PortletRenderRequest

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 cannot be changed.

Specified by:
setContentType in interface PortletRenderRequest

getContentType

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

Specified by:
getContentType in interface PortletRenderRequest

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". 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.

Specified by:
getWriter in interface PortletRenderRequest
Throws:
java.io.IOException

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". 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.

Specified by:
getWriter in interface PortletRenderRequest
Throws:
java.io.IOException

getLocale

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

Specified by:
getLocale in interface PortletRenderRequest

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.

Specified by:
getLocales in interface PortletRenderRequest

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.

Specified by:
getDefaultLocale in interface PortletRenderRequest

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.

Specified by:
getProviderResource in interface PortletRenderRequest

getSession

public ProviderSession getSession()
A session is an object that maintains state across requests. We use the Servlet Session abstraction as it really is Http independent and is the most commonly used session object in this model anyway.

Specified by:
getSession in interface PortletRenderRequest

getCookies

public java.lang.Object[] getCookies()
A session is an object that maintains state across requests. We use the Servlet Session abstraction as it really is Http independent and is the most commonly used session object in this model anyway.

Specified by:
getCookies in interface PortletRenderRequest

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);

Specified by:
setAttribute in interface PortletRenderRequest
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);

Specified by:
getAttribute in interface PortletRenderRequest
Parameters:
name - the name of the attribute.
Returns:
value the value for the attribute.

getAttributeNames

public java.util.Enumeration getAttributeNames()
Get the names of the attributes of this ServletPortletRenderRequest as an Enumeration of Strings.

Specified by:
getAttributeNames in interface PortletRenderRequest

removeAttribute

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

Specified by:
removeAttribute in interface PortletRenderRequest
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

Specified by:
getURLCharSet in interface PortletRenderRequest

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.