javax.portlet

## Interface ClientDataRequest

All Superinterfaces:
  PortletRequest

All Known Subinterfaces:
  ActionRequest, ResourceRequest

All Known Implementing Classes:
  ActionRequestWrapper, ResourceRequestWrapper

    public interface ClientDataRequest
    extends PortletRequest

The `ClientDataRequest` represents the request information of the HTTP request issued from the client to the portal.
It extends the PortletRequest interface.

Since:
  2.0
See Also:
  `PortletRequest`

### Nested Class Summary

### Nested classes/interfaces inherited from interface javax.portlet.PortletRequest

`PortletRequest.P3PUserInfos`

### Field Summary

### Fields inherited from interface javax.portlet.PortletRequest

`ACTION_PHASE, ACTION_SCOPE_ID, BASIC_AUTH, CCPP_PROFILE, CLIENT_CERT_AUTH, DIGEST_AUTH, EVENT_PHASE, FORM_AUTH, LIFECYCLE_PHASE, RENDER_HEADERS, RENDER_MARKUP, RENDER_PART, RENDER_PHASE, RESOURCE_PHASE, USER_INFO`

### Method Summary

All Methods Instance Methods Abstract Methods
`String` `getCharacterEncoding()` Returns the name of the character encoding used in the body of this request.
`int` `getContentLength()` Returns the length, in bytes, of the request body which is made available by the input stream, or -1 if the length is not known.
`String` `getContentType()` Returns the MIME type of the body of the request, or null if the type is not known.
`String` `getMethod()` Returns the name of the HTTP method with which this request was made, for example, GET, POST, or PUT.
`InputStream` `getPortletInputStream()` Retrieves the body of the HTTP request from client to portal as binary data using an `InputStream`.
`BufferedReader` `getReader()` Retrieves the body of the HTTP request from the client to the portal as character data using a `BufferedReader`.
`void` `setCharacterEncoding(String enc)` Overrides the name of the character encoding used in the body of this request.

### Methods inherited from interface javax.portlet.PortletRequest

`getAttribute, getAttributeNames, getAuthType, getContextPath, getCookies, getLocale, getLocales, getParameter, getParameterMap, getParameterNames, getParameterValues, getPortalContext, getPortletMode, getPortletSession, getPortletSession, getPreferences, getPrivateParameterMap, getProperties, getProperty, getPropertyNames, getPublicParameterMap, getRemoteUser, getRequestedSessionId, getResponseContentType, getResponseContentTypes, getScheme, getServerName, getServerPort, getUserPrincipal, getWindowID, getWindowState, isPortletModeAllowed, isRequestedSessionIdValid, isSecure, isUserInRole, isWindowStateAllowed, removeAttribute, setAttribute`

### Method Detail

#### getPortletInputStream

    InputStream getPortletInputStream()
                               throws IOException

Retrieves the body of the HTTP request from client to portal as binary data using an `InputStream`. Either this method or `getReader()` may be called to read the body, but not both.

For HTTP POST data of type application/x-www-form-urlencoded this method throws an `IllegalStateException` as this data has been already processed by the portal/portlet-container and is available as request parameters.

Returns:
  an input stream containing the body of the request
Throws:
  `IllegalStateException` - if getReader was already called, or it is a HTTP POST data of type application/x-www-form-urlencoded
  `IOException` - if an input or output exception occurred

#### setCharacterEncoding

    void setCharacterEncoding(String enc)
                       throws UnsupportedEncodingException

Overrides the name of the character encoding used in the body of this request. This method must be called prior to reading input using `getReader()` or `getPortletInputStream()`.

This method only sets the character set for the Reader that the `getReader()` method returns.

Parameters:
  `enc` - a `String` containing the name of the character encoding.
Throws:
  `UnsupportedEncodingException` - if this is not a valid encoding
  `IllegalStateException` - if this method is called after reading request parameters or reading input using `getReader()`

#### getReader

    BufferedReader getReader()
                      throws UnsupportedEncodingException,
                             IOException

Retrieves the body of the HTTP request from the client to the portal as character data using a `BufferedReader`. The reader translates the character data according to the character encoding used on the body. Either this method or `getPortletInputStream()` may be called to read the body, not both.

For HTTP POST data of type application/x-www-form-urlencoded this method throws an `IllegalStateException` as this data has been already processed by the portal/portlet-container and is available as request parameters.

Returns:
  a `BufferedReader` containing the body of the request
Throws:
  `UnsupportedEncodingException` - if the character set encoding used is not supported and the text cannot be decoded
  `IllegalStateException` - if `getPortletInputStream()` method has been called on this request, it is a HTTP POST data of type application/x-www-form-urlencoded.
  `IOException` - if an input or output exception occurred
See Also:
  `getPortletInputStream()`

#### getCharacterEncoding

    String getCharacterEncoding()

Returns the name of the character encoding used in the body of this request. This method returns `null` if the request does not specify a character encoding.

Returns:
  a `String` containing the name of the character encoding, or `null` if the request does not specify a character encoding.

#### getContentType

    String getContentType()

Returns the MIME type of the body of the request, or null if the type is not known.

Returns:
  a `String` containing the name of the MIME type of the request, or null if the type is not known.

#### getContentLength

    int getContentLength()

Returns the length, in bytes, of the request body which is made available by the input stream, or -1 if the length is not known.

Returns:
  an integer containing the length of the request body or -1 if the length is not known

#### getMethod

    String getMethod()

Returns the name of the HTTP method with which this request was made, for example, GET, POST, or PUT.

Returns:
  a String specifying the name of the HTTP method with which this request was made
Since:
  2.0