org.apache.cocoon.environment.commandline
Class CommandLineRequest

java.lang.Object
  extended by org.apache.cocoon.environment.commandline.CommandLineRequest
All Implemented Interfaces:
Request

public class CommandLineRequest
extends Object
implements Request

Creates a specific servlet request simulation from command line usage.

Version:
$Id: CommandLineRequest.html 1304258 2012-03-23 10:09:27Z ilgrosso $
Author:
Stefano Mazzocchi, Carsten Ziegeler

Constructor Summary
CommandLineRequest(Environment env, String contextPath, String servletPath, String pathInfo)
           
CommandLineRequest(Environment env, String contextPath, String servletPath, String pathInfo, Map attributes)
           
CommandLineRequest(Environment env, String contextPath, String servletPath, String pathInfo, Map attributes, Map parameters)
           
CommandLineRequest(Environment env, String contextPath, String servletPath, String pathInfo, Map attributes, Map parameters, Map headers)
           
 
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.
 int getIntHeader(String name)
           
 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,
 Map getParameterMap()
           
 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.
 StringBuffer getRequestURL()
           
 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 value)
          Stores an attribute in this request.
 void setCharacterEncoding(String env)
          Overrides the charactor encoding of parameters.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CommandLineRequest

public CommandLineRequest(Environment env,
                          String contextPath,
                          String servletPath,
                          String pathInfo)

CommandLineRequest

public CommandLineRequest(Environment env,
                          String contextPath,
                          String servletPath,
                          String pathInfo,
                          Map attributes)

CommandLineRequest

public CommandLineRequest(Environment env,
                          String contextPath,
                          String servletPath,
                          String pathInfo,
                          Map attributes,
                          Map parameters)

CommandLineRequest

public CommandLineRequest(Environment env,
                          String contextPath,
                          String servletPath,
                          String pathInfo,
                          Map attributes,
                          Map parameters,
                          Map headers)
Method Detail

get

public Object get(String name)
Description copied from interface: Request
Returns the value of the named attribute as an Object, or null if no attribute of the given name exists.

Specified by:
get in interface Request
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

getContextPath

public String getContextPath()
Description copied from interface: Request
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 "".

Specified by:
getContextPath in interface Request
Returns:
a String specifying the portion of the request URI that indicates the context of the request

getServletPath

public String getServletPath()
Description copied from interface: Request
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.

Specified by:
getServletPath in interface Request
Returns:
a String containing the name or path of the servlet being called, as specified in the request URL

getPathInfo

public String getPathInfo()
Description copied from interface: Request
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.

Specified by:
getPathInfo in interface Request
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

getRequestURI

public String getRequestURI()
Description copied from interface: Request
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

Specified by:
getRequestURI in interface Request
Returns:
a String containing the part of the URL from the protocol name up to the query string

getSitemapURI

public String getSitemapURI()
Description copied from interface: Request

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.

Specified by:
getSitemapURI in interface Request
Returns:
a String containing the URL as mangled by the sitemap

getSitemapURIPrefix

public String getSitemapURIPrefix()
Description copied from interface: Request

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

Specified by:
getSitemapURIPrefix in interface Request
Returns:
a String containing the URI prefix as mangled by the sitemap

getQueryString

public String getQueryString()
Description copied from interface: Request
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.

Specified by:
getQueryString in interface Request
Returns:
a String containing the query string or null if the URL contains no query string

getPathTranslated

public String getPathTranslated()
Description copied from interface: Request
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.

Specified by:
getPathTranslated in interface Request
Returns:
a String specifying the real path, or null if the URL does not have any extra path information

getAttribute

public Object getAttribute(String name)
Description copied from interface: Request
Returns the value of the named attribute as an Object, or null if no attribute of the given name exists.

Specified by:
getAttribute in interface Request
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

public Enumeration getAttributeNames()
Description copied from interface: Request
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.

Specified by:
getAttributeNames in interface Request
Returns:
an Enumeration of strings containing the names of the request's attributes

setAttribute

public void setAttribute(String name,
                         Object value)
Description copied from interface: Request
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.

Specified by:
setAttribute in interface Request
Parameters:
name - a String specifying the name of the attribute
value - the Object to be stored

removeAttribute

public void removeAttribute(String name)
Description copied from interface: Request
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.

Specified by:
removeAttribute in interface Request
Parameters:
name - a String specifying the name of the attribute to remove

getParameter

public String getParameter(String name)
Description copied from interface: Request
Returns the value of a request parameter as a String,

Specified by:
getParameter in interface Request
Parameters:
name - a String specifying the name of the parameter
Returns:
a String representing the single value of the parameter
See Also:
Request.getParameterValues(String)

getParameterNames

public Enumeration getParameterNames()
Description copied from interface: Request
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.

Specified by:
getParameterNames in interface Request
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

public String[] getParameterValues(String name)
Description copied from interface: Request
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.

Specified by:
getParameterValues in interface Request
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:
Request.getParameter(String)

getHeader

public String getHeader(String name)
Description copied from interface: Request
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.

Specified by:
getHeader in interface Request
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

getIntHeader

public int getIntHeader(String name)

getDateHeader

public long getDateHeader(String name)
Description copied from interface: Request
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.

Specified by:
getDateHeader in interface Request
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

getHeaders

public Enumeration getHeaders(String name)
Description copied from interface: Request
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.

Specified by:
getHeaders in interface Request
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

public Enumeration getHeaderNames()
Description copied from interface: Request
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

Specified by:
getHeaderNames in interface Request
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

getCharacterEncoding

public String getCharacterEncoding()
Description copied from interface: Request
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

Specified by:
getCharacterEncoding in interface Request
Returns:
a String containing the name of the chararacter encoding, or null if the request does not specify a character encoding

getContentLength

public int getContentLength()
Description copied from interface: Request
Returns the length, in bytes, of the request body

Specified by:
getContentLength in interface Request
Returns:
an integer containing the length of the request body or -1 if the length is not known

getContentType

public String getContentType()
Description copied from interface: Request
Returns the MIME type of the body of the request

Specified by:
getContentType in interface Request
Returns:
a String containing the name of the MIME type of the request, or -1 if the type is not known

getProtocol

public String getProtocol()
Description copied from interface: Request
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.

Specified by:
getProtocol in interface Request
Returns:
a String containing the protocol name and version number

getScheme

public String getScheme()
Description copied from interface: Request
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.

Specified by:
getScheme in interface Request
Returns:
a String containing the name of the scheme used to make this request

getServerName

public String getServerName()
Description copied from interface: Request
Returns the host name of the server that received the request. For HTTP servlets, same as the value of the CGI variable SERVER_NAME.

Specified by:
getServerName in interface Request
Returns:
a String containing the name of the server to which the request was sent

getServerPort

public int getServerPort()
Description copied from interface: Request
Returns the port number on which this request was received. For HTTP servlets, same as the value of the CGI variable SERVER_PORT.

Specified by:
getServerPort in interface Request
Returns:
an integer specifying the port number

getRemoteAddr

public String getRemoteAddr()
Description copied from interface: Request
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.

Specified by:
getRemoteAddr in interface Request
Returns:
a String containing the IP address of the client that sent the request

getRemoteHost

public String getRemoteHost()
Description copied from interface: Request
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.

Specified by:
getRemoteHost in interface Request
Returns:
a String containing the fully qualified name of the client

getMethod

public String getMethod()
Description copied from interface: Request
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.

Specified by:
getMethod in interface Request
Returns:
a String specifying the name of the method with which this request was made

getRemoteUser

public String getRemoteUser()
Description copied from interface: Request
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.

Specified by:
getRemoteUser in interface Request
Returns:
a String specifying the login of the user making this request, or null

getCookies

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

Specified by:
getCookies in interface Request
Returns:
an array of all the Cookies included with this request, or null if the request has no cookies

getCookieMap

public Map getCookieMap()
Description copied from interface: Request
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.

Specified by:
getCookieMap in interface Request
Returns:
a Map of Cookie objects

getSession

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

Specified by:
getSession in interface Request
Returns:
the Session associated with this request
See Also:
getSession(boolean)

getSession

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

Specified by:
getSession in interface Request
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()

getCocoonSession

public Session getCocoonSession(boolean create)
Description copied from interface: Request
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.

Specified by:
getCocoonSession in interface Request
See Also:
Request.getSession()

getCocoonSession

public Session getCocoonSession()
Specified by:
getCocoonSession in interface Request
See Also:
Request.getSession(boolean)

getRequestedSessionId

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

Specified by:
getRequestedSessionId in interface Request
Returns:
a String specifying the session ID, or null if the request did not specify a session ID
See Also:
isRequestedSessionIdValid()

isRequestedSessionIdValid

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

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

isRequestedSessionIdFromCookie

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

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

isRequestedSessionIdFromURL

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

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

getLocale

public Locale getLocale()
Description copied from interface: Request
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.

Specified by:
getLocale in interface Request
Returns:
the preferred Locale for the client

getLocales

public Enumeration getLocales()
Description copied from interface: Request
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.

Specified by:
getLocales in interface Request
Returns:
an Enumeration of preferred Locale objects for the client

getAuthType

public String getAuthType()
Description copied from interface: Request
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

Specified by:
getAuthType in interface Request
Returns:
The name of the authentication scheme used to protect the servlet, or null if the servlet was not protected

isSecure

public boolean isSecure()
Description copied from interface: Request
Returns a boolean indicating whether this request was made using a secure channel, such as HTTPS.

Specified by:
isSecure in interface Request
Returns:
a boolean indicating if the request was made using a secure channel

isUserInRole

public boolean isUserInRole(String role)
Description copied from interface: Request
Checks whether the currently logged in user is in a specified role.

Specified by:
isUserInRole in interface Request
Returns:
true if the user is authenticated and in the role; otherwise, false
See Also:
Request.getRemoteUser()

getUserPrincipal

public Principal getUserPrincipal()
Description copied from interface: Request
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.

Specified by:
getUserPrincipal in interface Request
Returns:
a String specifying the login of the user making this request, or null

getParameterMap

public Map getParameterMap()

setCharacterEncoding

public void setCharacterEncoding(String env)
                          throws UnsupportedEncodingException
Description copied from interface: Request
Overrides the charactor encoding of parameters.

Specified by:
setCharacterEncoding in interface Request
Throws:
UnsupportedEncodingException - if this is not a valid encoding.

getRequestURL

public StringBuffer getRequestURL()


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