org.apache.cocoon.environment
Interface Request

All Known Implementing Classes:
ActionRequest, CommandLineRequest, HttpRequest, JXPathCocoonContexts.RequestProxy, PortletRequest, RenderRequest, RequestWrapper

public interface Request

Defines an interface to provide client request information .

Version:
$Id: Request.html 1304258 2012-03-23 10:09:27Z ilgrosso $
Author:
Davanum Srinivas, Carsten Ziegeler, Berin Loritsch

Method Summary
 Object get(String name)
          Returns the value of the named attribute as an Object, or null if no attribute of the given name exists.
 Object getAttribute(String name)
          Returns the value of the named attribute as an Object, or null if no attribute of the given name exists.
 Enumeration getAttributeNames()
          Returns an Enumeration containing the names of the attributes available to this request.
 String getAuthType()
          Returns the name of the authentication scheme used to protect the servlet, for example, "BASIC" or "SSL," or null if the servlet was not protected
 String getCharacterEncoding()
          Returns the name of the character encoding used in the body of this request.
 Session getCocoonSession()
           
 Session getCocoonSession(boolean create)
          In Cocoon 2.2 the org.apache.cocoon.environment.Session interface is deprecated, and the return type of getSession() changes to vanilla javax.servlet.HttpRequest.
 int getContentLength()
          Returns the length, in bytes, of the request body
 String getContentType()
          Returns the MIME type of the body of the request
 String getContextPath()
          Returns the portion of the request URI that indicates the context of the request.
 Map getCookieMap()
          Returns a map of the Cookie objects the client sent with this request, indexed by name.
 Cookie[] getCookies()
          Returns an array containing all of the Cookie objects the client sent with this request.
 long getDateHeader(String name)
          Returns the value of the specified request header as a long value that represents a Date object.
 String getHeader(String name)
          Returns the value of the specified request header as a String.
 Enumeration getHeaderNames()
          Returns an enumeration of all the header names this request contains.
 Enumeration getHeaders(String name)
          Returns all the values of the specified request header as an Enumeration of String objects.
 Locale getLocale()
          Returns the preferred Locale that the client will accept content in, based on the Accept-Language header.
 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.
 String getMethod()
          Returns the name of the HTTP method with which this request was made, for example, GET, POST, or PUT.
 String getParameter(String name)
          Returns the value of a request parameter as a String,
 Enumeration getParameterNames()
          Returns an Enumeration of String objects containing the names of the parameters contained in this request.
 String[] getParameterValues(String name)
          Returns an array of String objects containing all of the values the given request parameter has, or null if the parameter does not exist.
 String getPathInfo()
          Returns any extra path information associated with the URL the client sent when it made this request.
 String getPathTranslated()
          Returns any extra path information after the servlet name but before the query string, and translates it to a real path.
 String getProtocol()
          Returns the name and version of the protocol the request uses in the form protocol/majorVersion.minorVersion, for example, HTTP/1.1.
 String getQueryString()
          Returns the query string that is contained in the request URL after the path.
 String getRemoteAddr()
          Returns the Internet Protocol (IP) address of the client that sent the request.
 String getRemoteHost()
          Returns the fully qualified name of the client that sent the request, or the IP address of the client if the name cannot be determined.
 String getRemoteUser()
          Returns the login of the user making this request, if the user has been authenticated, or null if the user has not been authenticated.
 String getRequestedSessionId()
          Returns the session ID specified by the client.
 String getRequestURI()
          Returns the part of this request's URL from the protocol name up to the query string in the first line of the HTTP request.
 String getScheme()
          Returns the name of the scheme used to make this request, for example, http, https, or ftp.
 String getServerName()
          Returns the host name of the server that received the request.
 int getServerPort()
          Returns the port number on which this request was received.
 String getServletPath()
          Returns the part of this request's URL that calls the servlet.
 Session getSession()
          Returns the current session associated with this request, or if the request does not have a session, creates one.
 Session getSession(boolean create)
          Returns the current Session associated with this request or, if if there is no current session and create is true, returns a new session.
 String getSitemapURI()
           Returns the URI of the requested resource as interpreted by the sitemap.
 String getSitemapURIPrefix()
           Returns the URI Prefix of the requested resource where the sitemap is mounted.
 Principal getUserPrincipal()
          Returns the login of the user making this request, if the user has been authenticated, or null if the user has not been authenticated.
 boolean isRequestedSessionIdFromCookie()
          Checks whether the requested session ID came in as a cookie.
 boolean isRequestedSessionIdFromURL()
          Checks whether the requested session ID came in as part of the request URL.
 boolean isRequestedSessionIdValid()
          Checks whether the requested session ID is still valid.
 boolean isSecure()
          Returns a boolean indicating whether this request was made using a secure channel, such as HTTPS.
 boolean isUserInRole(String role)
          Checks whether the currently logged in user is in a specified role.
 void removeAttribute(String name)
          Removes an attribute from this request.
 void setAttribute(String name, Object o)
          Stores an attribute in this request.
 void setCharacterEncoding(String enc)
          Overrides the charactor encoding of parameters.
 

Method Detail

get

Object get(String name)
Returns the value of the named attribute as an Object, or null if no attribute of the given name exists.

Parameters:
name - a String specifying the name of the attribute
Returns:
an Object containing the value of the attribute, or null if the attribute does not exist

getAttribute

Object getAttribute(String name)
Returns the value of the named attribute as an Object, or null if no attribute of the given name exists.

Parameters:
name - a String specifying the name of the attribute
Returns:
an Object containing the value of the attribute, or null if the attribute does not exist

getAttributeNames

Enumeration getAttributeNames()
Returns an Enumeration containing the names of the attributes available to this request. This method returns an empty Enumeration if the request has no attributes available to it.

Returns:
an Enumeration of strings containing the names of the request's attributes

setAttribute

void setAttribute(String name,
                  Object o)
Stores an attribute in this request. Attributes are reset between requests.

Attribute names should follow the same conventions as package names. Names beginning with java.*, javax.*, and com.sun.*, are reserved for use by Sun Microsystems.

Parameters:
name - a String specifying the name of the attribute
o - the Object to be stored

removeAttribute

void removeAttribute(String name)
Removes an attribute from this request. This method is not generally needed as attributes only persist as long as the request is being handled.

Attribute names should follow the same conventions as package names. Names beginning with java.*, javax.*, and com.sun.*, are reserved for use by Sun Microsystems.

Parameters:
name - a String specifying the name of the attribute to remove

getAuthType

String getAuthType()
Returns the name of the authentication scheme used to protect the servlet, for example, "BASIC" or "SSL," or null if the servlet was not protected

Returns:
The name of the authentication scheme used to protect the servlet, or null if the servlet was not protected

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 chararacter encoding, or null if the request does not specify a character encoding

setCharacterEncoding

void setCharacterEncoding(String enc)
                          throws UnsupportedEncodingException
Overrides the charactor encoding of parameters.

Throws:
UnsupportedEncodingException - if this is not a valid encoding.

getContentLength

int getContentLength()
Returns the length, in bytes, of the request body

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

getContentType

String getContentType()
Returns the MIME type of the body of the request

Returns:
a String containing the name of the MIME type of the request, or -1 if the type is not known

getParameter

String getParameter(String name)
Returns the value of a request parameter as a String,

Parameters:
name - a String specifying the name of the parameter
Returns:
a String representing the single value of the parameter
See Also:
getParameterValues(String)

getParameterNames

Enumeration getParameterNames()
Returns an Enumeration of String objects containing the names of the parameters contained in this request. If the request has no parameters, the method returns an empty Enumeration.

Returns:
an Enumeration of String objects, each String containing the name of a request parameter; or an empty Enumeration if the request has no parameters

getParameterValues

String[] getParameterValues(String name)
Returns an array of String objects containing all of the values the given request parameter has, or null if the parameter does not exist.

If the parameter has a single value, the array has a length of 1.

Parameters:
name - a String containing the name of the parameter whose value is requested
Returns:
an array of String objects containing the parameter's values
See Also:
getParameter(String)

getProtocol

String getProtocol()
Returns the name and version of the protocol the request uses in the form protocol/majorVersion.minorVersion, for example, HTTP/1.1. For HTTP servlets, the value returned is the same as the value of the CGI variable SERVER_PROTOCOL.

Returns:
a String containing the protocol name and version number

getScheme

String getScheme()
Returns the name of the scheme used to make this request, for example, http, https, or ftp. Different schemes have different rules for constructing URLs, as noted in RFC 1738.

Returns:
a String containing the name of the scheme used to make this request

getServerName

String getServerName()
Returns the host name of the server that received the request. For HTTP servlets, same as the value of the CGI variable SERVER_NAME.

Returns:
a String containing the name of the server to which the request was sent

getServerPort

int getServerPort()
Returns the port number on which this request was received. For HTTP servlets, same as the value of the CGI variable SERVER_PORT.

Returns:
an integer specifying the port number

getRemoteAddr

String getRemoteAddr()
Returns the Internet Protocol (IP) address of the client that sent the request. For HTTP servlets, same as the value of the CGI variable REMOTE_ADDR.

Returns:
a String containing the IP address of the client that sent the request

getRemoteHost

String getRemoteHost()
Returns the fully qualified name of the client that sent the request, or the IP address of the client if the name cannot be determined. For HTTP servlets, same as the value of the CGI variable REMOTE_HOST.

Returns:
a String containing the fully qualified name of the client

getLocale

Locale getLocale()
Returns the preferred Locale that the client will accept content in, based on the Accept-Language header. If the client request doesn't provide an Accept-Language header, this method returns the default locale for the server.

Returns:
the preferred Locale for the client

getLocales

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. If the client request doesn't provide an Accept-Language header, this method returns an Enumeration containing one Locale, the default locale for the server.

Returns:
an Enumeration of preferred Locale objects for the client

isSecure

boolean isSecure()
Returns a boolean indicating whether this request was made using a secure channel, such as HTTPS.

Returns:
a boolean indicating if the request was made using a secure channel

getCookies

Cookie[] getCookies()
Returns an array containing all of the Cookie objects the client sent with this request. This method returns null if no cookies were sent.

Returns:
an array of all the Cookies included with this request, or null if the request has no cookies

getCookieMap

Map getCookieMap()
Returns a map of the Cookie objects the client sent with this request, indexed by name. This method returns an empty map if no cookies were sent.

Returns:
a Map of Cookie objects

getDateHeader

long getDateHeader(String name)
Returns the value of the specified request header as a long value that represents a Date object. Use this method with headers that contain dates, such as If-Modified-Since.

The date is returned as the number of milliseconds since January 1, 1970 GMT. The header name is case insensitive.

If the request did not have a header of the specified name, this method returns -1. If the header can't be converted to a date, the method throws an IllegalArgumentException.

Parameters:
name - a String specifying the name of the header
Returns:
a long value representing the date specified in the header expressed as the number of milliseconds since January 1, 1970 GMT, or -1 if the named header was not included with the reqest
Throws:
IllegalArgumentException - If the header value can't be converted to a date

getHeader

String getHeader(String name)
Returns the value of the specified request header as a String. If the request did not include a header of the specified name, this method returns null. The header name is case insensitive. You can use this method with any request header.

Parameters:
name - a String specifying the header name
Returns:
a String containing the value of the requested header, or null if the request does not have a header of that name

getHeaders

Enumeration getHeaders(String name)
Returns all the values of the specified request header as an Enumeration of String objects.

Some headers, such as Accept-Language can be sent by clients as several headers each with a different value rather than sending the header as a comma separated list.

If the request did not include any headers of the specified name, this method returns an empty Enumeration. The header name is case insensitive. You can use this method with any request header.

Parameters:
name - a String specifying the header name
Returns:
a Enumeration containing the values of the requested header, or null if the request does not have any headers of that name

getHeaderNames

Enumeration getHeaderNames()
Returns an enumeration of all the header names this request contains. If the request has no headers, this method returns an empty enumeration.

Some servlet containers do not allow do not allow servlets to access headers using this method, in which case this method returns null

Returns:
an enumeration of all the header names sent with this request; if the request has no headers, an empty enumeration; if the servlet container does not allow servlets to use this method, null

getMethod

String getMethod()
Returns the name of the HTTP method with which this request was made, for example, GET, POST, or PUT. Same as the value of the CGI variable REQUEST_METHOD.

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

getPathInfo

String getPathInfo()
Returns any extra path information associated with the URL the client sent when it made this request. The extra path information follows the servlet path but precedes the query string. This method returns null if there was no extra path information.

Same as the value of the CGI variable PATH_INFO.

Returns:
a String specifying extra path information that comes after the servlet path but before the query string in the request URL; or null if the URL does not have any extra path information

getPathTranslated

String getPathTranslated()
Returns any extra path information after the servlet name but before the query string, and translates it to a real path. Same as the value of the CGI variable PATH_TRANSLATED.

If the URL does not have any extra path information, this method returns null.

Returns:
a String specifying the real path, or null if the URL does not have any extra path information

getContextPath

String getContextPath()
Returns the portion of the request URI that indicates the context of the request. The context path always comes first in a request URI. The path starts with a "/" character but does not end with a "/" character. For servlets in the default (root) context, this method returns "".

Returns:
a String specifying the portion of the request URI that indicates the context of the request

getQueryString

String getQueryString()
Returns the query string that is contained in the request URL after the path. This method returns null if the URL does not have a query string. Same as the value of the CGI variable QUERY_STRING.

Returns:
a String containing the query string or null if the URL contains no query string

getRemoteUser

String getRemoteUser()
Returns the login of the user making this request, if the user has been authenticated, or null if the user has not been authenticated. Whether the user name is sent with each subsequent request depends on the browser and type of authentication. Same as the value of the CGI variable REMOTE_USER.

Returns:
a String specifying the login of the user making this request, or null

getUserPrincipal

Principal getUserPrincipal()
Returns the login of the user making this request, if the user has been authenticated, or null if the user has not been authenticated. Whether the user name is sent with each subsequent request depends on the browser and type of authentication. Same as the value of the CGI variable REMOTE_USER.

Returns:
a String specifying the login of the user making this request, or null

isUserInRole

boolean isUserInRole(String role)
Checks whether the currently logged in user is in a specified role.

Returns:
true if the user is authenticated and in the role; otherwise, false
See Also:
getRemoteUser()

getRequestedSessionId

String getRequestedSessionId()
Returns the session ID specified by the client. This may not be the same as the ID of the actual session in use. For example, if the request specified an old (expired) session ID and the server has started a new session, this method gets a new session with a new ID. If the request did not specify a session ID, this method returns null.

Returns:
a String specifying the session ID, or null if the request did not specify a session ID
See Also:
isRequestedSessionIdValid()

getRequestURI

String getRequestURI()
Returns the part of this request's URL from the protocol name up to the query string in the first line of the HTTP request. For example:
First line of HTTP request Returned Value
POST /some/path.html HTTP/1.1/some/path.html
GET http://foo.bar/a.html HTTP/1.0 http://foo.bar/a.html
HEAD /xyz?a=b HTTP/1.1/xyz

Returns:
a String containing the part of the URL from the protocol name up to the query string

getSitemapURI

String getSitemapURI()

Returns the URI of the requested resource as interpreted by the sitemap. For example, if your webapp is mounted at "/webapp" and the HTTP request is for "/webapp/foo", this method returns "foo". Consequently, if the request is for "/webapp", this method returns an empty string.

Note that if the request is mapped to a pipeline that contains aggregated content, and if this method is called in the context of one of the aggregated parts (e.g. a server page), this method will return the URI of the aggregated part, not the original requested URI.

Returns:
a String containing the URL as mangled by the sitemap

getSitemapURIPrefix

String getSitemapURIPrefix()

Returns the URI Prefix of the requested resource where the sitemap is mounted. For example, if your webapp is mounted at "/webapp" and the HTTP request is for "/webapp/foo", this method returns "webapp/".

Returns:
a String containing the URI prefix as mangled by the sitemap

getServletPath

String getServletPath()
Returns the part of this request's URL that calls the servlet. This includes either the servlet name or a path to the servlet, but does not include any extra path information or a query string. Same as the value of the CGI variable SCRIPT_NAME.

Returns:
a String containing the name or path of the servlet being called, as specified in the request URL

getSession

Session getSession(boolean create)
Returns the current Session associated with this request or, if if there is no current session and create is true, returns a new session.

If create is false and the request has no valid Session, this method returns null.

To make sure the session is properly maintained, you must call this method before the response is committed.

Parameters:
create - true to create a new session for this request if necessary; false to return null if there's no current session
Returns:
the Session associated with this request or null if create is false and the request has no valid session
See Also:
getSession()

getSession

Session getSession()
Returns the current session associated with this request, or if the request does not have a session, creates one.

Returns:
the Session associated with this request
See Also:
getSession(boolean)

getCocoonSession

Session getCocoonSession(boolean create)
In Cocoon 2.2 the org.apache.cocoon.environment.Session interface is deprecated, and the return type of getSession() changes to vanilla javax.servlet.HttpRequest.

For migrating from Cocoon 2.1 to 2.2, replace in your custom code all calls to getSession() by getCocoonSession(). That allows for a common codebase usable on both version.

See Also:
getSession()

getCocoonSession

Session getCocoonSession()
See Also:
getSession(boolean)

isRequestedSessionIdValid

boolean isRequestedSessionIdValid()
Checks whether the requested session ID is still valid.

Returns:
true if this request has an id for a valid session in the current session context; false otherwise
See Also:
getRequestedSessionId(), getSession()

isRequestedSessionIdFromCookie

boolean isRequestedSessionIdFromCookie()
Checks whether the requested session ID came in as a cookie.

Returns:
true if the session ID came in as a cookie; otherwise, false
See Also:
getSession()

isRequestedSessionIdFromURL

boolean isRequestedSessionIdFromURL()
Checks whether the requested session ID came in as part of the request URL.

Returns:
true if the session ID came in as part of a URL; otherwise, false
See Also:
getSession()


Copyright © 1999-2010 The Apache Software Foundation. All Rights Reserved.