org.apache.catalina.connector
Class RequestBase

java.lang.Object
  |
  +--org.apache.catalina.connector.RequestBase
All Implemented Interfaces:
Request, javax.servlet.ServletRequest
Direct Known Subclasses:
HttpRequestBase

public abstract class RequestBase
extends java.lang.Object
implements javax.servlet.ServletRequest, Request

Convenience base implementation of the Request interface, which can be used for the Request implementation required by most Connectors. Only the connector-specific methods need to be implemented.

Version:
$Revision: 1.17 $ $Date: 2001/08/01 03:04:04 $
Author:
Craig R. McClanahan

Field Summary
protected  java.util.HashMap attributes
          The attributes associated with this Request, keyed by attribute name.
protected  java.lang.String authorization
          The authorization credentials sent with this Request.
protected  java.lang.String characterEncoding
          The character encoding for this Request.
protected  Connector connector
          The Connector through which this Request was received.
protected  int contentLength
          The content length associated with this request.
protected  java.lang.String contentType
          The content type associated with this request.
protected  Context context
          The Context within which this Request is being processed.
protected static java.util.Locale defaultLocale
          The default Locale if none are specified.
protected  RequestFacade facade
          The facade associated with this request.
protected static java.lang.String info
          Descriptive information about this Request implementation.
protected  java.io.InputStream input
          The input stream associated with this Request.
protected  java.util.ArrayList locales
          The preferred Locales assocaited with this Request.
protected  java.lang.String protocol
          The protocol name and version associated with this Request.
protected  java.io.BufferedReader reader
          The reader that has been returned by getReader, if any.
protected  java.lang.String remoteAddr
          The remote address associated with this request.
protected  java.lang.String remoteHost
          The fully qualified name of the remote host.
protected  Response response
          The response with which this request is associated.
protected  java.lang.String scheme
          The scheme associated with this Request.
protected  boolean secure
          Was this request received on a secure connection?
protected  java.lang.String serverName
          The server name associated with this Request.
protected  int serverPort
          The server port associated with this Request.
protected static StringManager sm
          The string manager for this package.
protected  java.net.Socket socket
          The socket through which this Request was received.
protected  javax.servlet.ServletInputStream stream
          The ServletInputStream that has been returned by getInputStream(), if any.
protected  Wrapper wrapper
          The Wrapper within which this Request is being processed.
 
Constructor Summary
RequestBase()
           
 
Method Summary
 void addLocale(java.util.Locale locale)
          Add a Locale to the set of preferred Locales for this Request.
 javax.servlet.ServletInputStream createInputStream()
          Create and return a ServletInputStream to read the content associated with this Request.
 void finishRequest()
          Perform whatever actions are required to flush and close the input stream or reader, in a single operation.
 java.lang.Object getAttribute(java.lang.String name)
          Return the specified request attribute if it exists; otherwise, return null.
 java.util.Enumeration getAttributeNames()
          Return the names of all request attributes for this Request, or an empty Enumeration if there are none.
 java.lang.String getAuthorization()
          Return the authorization credentials sent with this request.
 java.lang.String getCharacterEncoding()
          Return the character encoding for this Request.
 Connector getConnector()
          Return the Connector through which this Request was received.
 int getContentLength()
          Return the content length for this Request.
 java.lang.String getContentType()
          Return the content type for this Request.
 Context getContext()
          Return the Context within which this Request is being processed.
 java.lang.String getInfo()
          Return descriptive information about this Request implementation and the corresponding version number, in the format <description>/<version>.
 javax.servlet.ServletInputStream getInputStream()
          Return the servlet input stream for this Request.
 java.util.Locale getLocale()
          Return the preferred Locale that the client will accept content in, based on the value for the first Accept-Language header that was encountered.
 java.util.Enumeration getLocales()
          Return the set of preferred Locales that the client will accept content in, based on the values for any Accept-Language headers that were encountered.
 java.lang.Object getNote(java.lang.String name)
          Return the object bound with the specified name to the internal notes for this request, or null if no such binding exists.
 java.util.Iterator getNoteNames()
          Return an Iterator containing the String names of all notes bindings that exist for this request.
abstract  java.lang.String getParameter(java.lang.String name)
          Return the value of the specified request parameter, if any; otherwise, return null.
abstract  java.util.Map getParameterMap()
          Returns a Map of the parameters of this request.
abstract  java.util.Enumeration getParameterNames()
          Return the names of all defined request parameters for this request.
abstract  java.lang.String[] getParameterValues(java.lang.String name)
          Return the defined values for the specified request parameter, if any; otherwise, return null.
 java.lang.String getProtocol()
          Return the protocol and version used to make this Request.
 java.io.BufferedReader getReader()
          Read the Reader wrapping the input stream for this Request.
 java.lang.String getRealPath(java.lang.String path)
          Deprecated. As of version 2.1 of the Java Servlet API, use ServletContext.getRealPath().
 java.lang.String getRemoteAddr()
          Return the remote IP address making this Request.
 java.lang.String getRemoteHost()
          Return the remote host name making this Request.
 javax.servlet.ServletRequest getRequest()
          Return the ServletRequest for which this object is the facade.
abstract  javax.servlet.RequestDispatcher getRequestDispatcher(java.lang.String path)
          Return a RequestDispatcher that wraps the resource at the specified path, which may be interpreted as relative to the current request path.
 Response getResponse()
          Return the Response with which this Request is associated.
 java.lang.String getScheme()
          Return the scheme used to make this Request.
 java.lang.String getServerName()
          Return the server name responding to this Request.
 int getServerPort()
          Return the server port responding to this Request.
 java.net.Socket getSocket()
          Return the Socket (if any) through which this Request was received.
 java.io.InputStream getStream()
          Return the input stream associated with this Request.
 Wrapper getWrapper()
          Return the Wrapper within which this Request is being processed.
 boolean isSecure()
          Was this request received on a secure connection?
 void recycle()
          Release all object references, and initialize instance variables, in preparation for reuse of this object.
 void removeAttribute(java.lang.String name)
          Remove the specified request attribute if it exists.
 void removeNote(java.lang.String name)
          Remove any object bound to the specified name in the internal notes for this request.
 void setAttribute(java.lang.String name, java.lang.Object value)
          Set the specified request attribute to the specified value.
 void setAuthorization(java.lang.String authorization)
          Set the authorization credentials sent with this request.
 void setCharacterEncoding(java.lang.String enc)
          Overrides the name of the character encoding used in the body of this request.
 void setConnector(Connector connector)
          Set the Connector through which this Request was received.
 void setContentLength(int length)
          Set the content length associated with this Request.
 void setContentType(java.lang.String type)
          Set the content type (and optionally the character encoding) associated with this Request.
 void setContext(Context context)
          Set the Context within which this Request is being processed.
 void setNote(java.lang.String name, java.lang.Object value)
          Bind an object to a specified name in the internal notes associated with this request, replacing any existing binding for this name.
 void setProtocol(java.lang.String protocol)
          Set the protocol name and version associated with this Request.
 void setRemoteAddr(java.lang.String remoteAddr)
          Set the IP address of the remote client associated with this Request.
 void setRemoteHost(java.lang.String remoteHost)
          Set the fully qualified name of the remote client associated with this Request.
 void setResponse(Response response)
          Set the Response with which this Request is associated.
 void setScheme(java.lang.String scheme)
          Set the name of the scheme associated with this request.
 void setSecure(boolean secure)
          Set the value to be returned by isSecure() for this Request.
 void setServerName(java.lang.String name)
          Set the name of the server (virtual host) to process this request.
 void setServerPort(int port)
          Set the port number of the server to process this request.
 void setSocket(java.net.Socket socket)
          Set the Socket (if any) through which this Request was received.
 void setStream(java.io.InputStream input)
          Set the input stream associated with this Request.
 void setWrapper(Wrapper wrapper)
          Set the Wrapper within which this Request is being processed.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

attributes

protected java.util.HashMap attributes
The attributes associated with this Request, keyed by attribute name.


authorization

protected java.lang.String authorization
The authorization credentials sent with this Request.


characterEncoding

protected java.lang.String characterEncoding
The character encoding for this Request.


connector

protected Connector connector
The Connector through which this Request was received.


contentLength

protected int contentLength
The content length associated with this request.


contentType

protected java.lang.String contentType
The content type associated with this request.


context

protected Context context
The Context within which this Request is being processed.


defaultLocale

protected static java.util.Locale defaultLocale
The default Locale if none are specified.


facade

protected RequestFacade facade
The facade associated with this request.


info

protected static final java.lang.String info
Descriptive information about this Request implementation.

See Also:
Constant Field Values

input

protected java.io.InputStream input
The input stream associated with this Request.


locales

protected java.util.ArrayList locales
The preferred Locales assocaited with this Request.


protocol

protected java.lang.String protocol
The protocol name and version associated with this Request.


reader

protected java.io.BufferedReader reader
The reader that has been returned by getReader, if any.


remoteAddr

protected java.lang.String remoteAddr
The remote address associated with this request.


remoteHost

protected java.lang.String remoteHost
The fully qualified name of the remote host.


response

protected Response response
The response with which this request is associated.


scheme

protected java.lang.String scheme
The scheme associated with this Request.


secure

protected boolean secure
Was this request received on a secure connection?


serverName

protected java.lang.String serverName
The server name associated with this Request.


serverPort

protected int serverPort
The server port associated with this Request.


sm

protected static StringManager sm
The string manager for this package.


socket

protected java.net.Socket socket
The socket through which this Request was received.


stream

protected javax.servlet.ServletInputStream stream
The ServletInputStream that has been returned by getInputStream(), if any.


wrapper

protected Wrapper wrapper
The Wrapper within which this Request is being processed.

Constructor Detail

RequestBase

public RequestBase()
Method Detail

getAuthorization

public java.lang.String getAuthorization()
Return the authorization credentials sent with this request.

Specified by:
getAuthorization in interface Request

setAuthorization

public void setAuthorization(java.lang.String authorization)
Set the authorization credentials sent with this request.

Specified by:
setAuthorization in interface Request
Parameters:
authorization - The new authorization credentials

getConnector

public Connector getConnector()
Return the Connector through which this Request was received.

Specified by:
getConnector in interface Request

setConnector

public void setConnector(Connector connector)
Set the Connector through which this Request was received.

Specified by:
setConnector in interface Request
Parameters:
connector - The new connector

getContext

public Context getContext()
Return the Context within which this Request is being processed.

Specified by:
getContext in interface Request

setContext

public void setContext(Context context)
Set the Context within which this Request is being processed. This must be called as soon as the appropriate Context is identified, because it identifies the value to be returned by getContextPath(), and thus enables parsing of the request URI.

Specified by:
setContext in interface Request
Parameters:
context - The newly associated Context

getInfo

public java.lang.String getInfo()
Return descriptive information about this Request implementation and the corresponding version number, in the format <description>/<version>.

Specified by:
getInfo in interface Request

getRequest

public javax.servlet.ServletRequest getRequest()
Return the ServletRequest for which this object is the facade. This method must be implemented by a subclass.

Specified by:
getRequest in interface Request

getResponse

public Response getResponse()
Return the Response with which this Request is associated.

Specified by:
getResponse in interface Request

setResponse

public void setResponse(Response response)
Set the Response with which this Request is associated.

Specified by:
setResponse in interface Request
Parameters:
response - The new associated response

getSocket

public java.net.Socket getSocket()
Return the Socket (if any) through which this Request was received. This should only be used to access underlying state information about this Socket, such as the SSLSession associated with an SSLSocket.

Specified by:
getSocket in interface Request

setSocket

public void setSocket(java.net.Socket socket)
Set the Socket (if any) through which this Request was received.

Specified by:
setSocket in interface Request
Parameters:
socket - The socket through which this request was received

getStream

public java.io.InputStream getStream()
Return the input stream associated with this Request.

Specified by:
getStream in interface Request

setStream

public void setStream(java.io.InputStream input)
Set the input stream associated with this Request.

Specified by:
setStream in interface Request
Parameters:
input - The new input stream

getWrapper

public Wrapper getWrapper()
Return the Wrapper within which this Request is being processed.

Specified by:
getWrapper in interface Request

setWrapper

public void setWrapper(Wrapper wrapper)
Set the Wrapper within which this Request is being processed. This must be called as soon as the appropriate Wrapper is identified, and before the Request is ultimately passed to an application servlet.

Specified by:
setWrapper in interface Request
Parameters:
wrapper - The newly associated Wrapper

addLocale

public void addLocale(java.util.Locale locale)
Add a Locale to the set of preferred Locales for this Request. The first added Locale will be the first one returned by getLocales().

Parameters:
locale - The new preferred Locale

createInputStream

public javax.servlet.ServletInputStream createInputStream()
                                                   throws java.io.IOException
Create and return a ServletInputStream to read the content associated with this Request. The default implementation creates an instance of RequestStream associated with this request, but this can be overridden if necessary.

Specified by:
createInputStream in interface Request
Throws:
java.io.IOException - if an input/output error occurs

finishRequest

public void finishRequest()
                   throws java.io.IOException
Perform whatever actions are required to flush and close the input stream or reader, in a single operation.

Specified by:
finishRequest in interface Request
Throws:
java.io.IOException - if an input/output error occurs

getNote

public java.lang.Object getNote(java.lang.String name)
Return the object bound with the specified name to the internal notes for this request, or null if no such binding exists.

Specified by:
getNote in interface Request
Parameters:
name - Name of the note to be returned

getNoteNames

public java.util.Iterator getNoteNames()
Return an Iterator containing the String names of all notes bindings that exist for this request.

Specified by:
getNoteNames in interface Request

recycle

public void recycle()
Release all object references, and initialize instance variables, in preparation for reuse of this object.

Specified by:
recycle in interface Request

removeNote

public void removeNote(java.lang.String name)
Remove any object bound to the specified name in the internal notes for this request.

Specified by:
removeNote in interface Request
Parameters:
name - Name of the note to be removed

setContentLength

public void setContentLength(int length)
Set the content length associated with this Request.

Specified by:
setContentLength in interface Request
Parameters:
length - The new content length

setContentType

public void setContentType(java.lang.String type)
Set the content type (and optionally the character encoding) associated with this Request. For example, text/html; charset=ISO-8859-4.

Specified by:
setContentType in interface Request
Parameters:
type - The new content type

setNote

public void setNote(java.lang.String name,
                    java.lang.Object value)
Bind an object to a specified name in the internal notes associated with this request, replacing any existing binding for this name.

Specified by:
setNote in interface Request
Parameters:
name - Name to which the object should be bound
value - Object to be bound to the specified name

setProtocol

public void setProtocol(java.lang.String protocol)
Set the protocol name and version associated with this Request.

Specified by:
setProtocol in interface Request
Parameters:
protocol - Protocol name and version

setRemoteAddr

public void setRemoteAddr(java.lang.String remoteAddr)
Set the IP address of the remote client associated with this Request.

Specified by:
setRemoteAddr in interface Request
Parameters:
remoteAddr - The remote IP address

setRemoteHost

public void setRemoteHost(java.lang.String remoteHost)
Set the fully qualified name of the remote client associated with this Request.

Parameters:
remoteHost - The remote host name

setScheme

public void setScheme(java.lang.String scheme)
Set the name of the scheme associated with this request. Typical values are http, https, and ftp.

Specified by:
setScheme in interface Request
Parameters:
scheme - The scheme

setSecure

public void setSecure(boolean secure)
Set the value to be returned by isSecure() for this Request.

Specified by:
setSecure in interface Request
Parameters:
secure - The new isSecure value

setServerName

public void setServerName(java.lang.String name)
Set the name of the server (virtual host) to process this request.

Specified by:
setServerName in interface Request
Parameters:
name - The server name

setServerPort

public void setServerPort(int port)
Set the port number of the server to process this request.

Specified by:
setServerPort in interface Request
Parameters:
port - The server port

getAttribute

public java.lang.Object getAttribute(java.lang.String name)
Return the specified request attribute if it exists; otherwise, return null.

Specified by:
getAttribute in interface javax.servlet.ServletRequest
Parameters:
name - Name of the request attribute to return

getAttributeNames

public java.util.Enumeration getAttributeNames()
Return the names of all request attributes for this Request, or an empty Enumeration if there are none.

Specified by:
getAttributeNames in interface javax.servlet.ServletRequest

getCharacterEncoding

public java.lang.String getCharacterEncoding()
Return the character encoding for this Request.

Specified by:
getCharacterEncoding in interface javax.servlet.ServletRequest

getContentLength

public int getContentLength()
Return the content length for this Request.

Specified by:
getContentLength in interface javax.servlet.ServletRequest

getContentType

public java.lang.String getContentType()
Return the content type for this Request.

Specified by:
getContentType in interface javax.servlet.ServletRequest

getInputStream

public javax.servlet.ServletInputStream getInputStream()
                                                throws java.io.IOException
Return the servlet input stream for this Request. The default implementation returns a servlet input stream created by createInputStream().

Specified by:
getInputStream in interface javax.servlet.ServletRequest
Throws:
java.lang.IllegalStateException - if getReader() has already been called for this request
java.io.IOException - if an input/output error occurs

getLocale

public java.util.Locale getLocale()
Return the preferred Locale that the client will accept content in, based on the value for the first Accept-Language header that was encountered. If the request did not specify a preferred language, the server's default Locale is returned.

Specified by:
getLocale in interface javax.servlet.ServletRequest

getLocales

public java.util.Enumeration getLocales()
Return the set of preferred Locales that the client will accept content in, based on the values for any Accept-Language headers that were encountered. If the request did not specify a preferred language, the server's default Locale is returned.

Specified by:
getLocales in interface javax.servlet.ServletRequest

getParameter

public abstract java.lang.String getParameter(java.lang.String name)
Return the value of the specified request parameter, if any; otherwise, return null. If there is more than one value defined, return only the first one.

Specified by:
getParameter in interface javax.servlet.ServletRequest
Parameters:
name - Name of the desired request parameter

getParameterMap

public abstract java.util.Map getParameterMap()
Returns a Map of the parameters of this request. Request parameters are extra information sent with the request. For HTTP servlets, parameters are contained in the query string or posted form data.

Specified by:
getParameterMap in interface javax.servlet.ServletRequest
Returns:
A Map containing parameter names as keys and parameter values as map values.

getParameterNames

public abstract java.util.Enumeration getParameterNames()
Return the names of all defined request parameters for this request.

Specified by:
getParameterNames in interface javax.servlet.ServletRequest

getParameterValues

public abstract java.lang.String[] getParameterValues(java.lang.String name)
Return the defined values for the specified request parameter, if any; otherwise, return null.

Specified by:
getParameterValues in interface javax.servlet.ServletRequest
Parameters:
name - Name of the desired request parameter

getProtocol

public java.lang.String getProtocol()
Return the protocol and version used to make this Request.

Specified by:
getProtocol in interface javax.servlet.ServletRequest

getReader

public java.io.BufferedReader getReader()
                                 throws java.io.IOException
Read the Reader wrapping the input stream for this Request. The default implementation wraps a BufferedReader around the servlet input stream returned by createInputStream().

Specified by:
getReader in interface javax.servlet.ServletRequest
Throws:
java.lang.IllegalStateException - if getInputStream() has already been called for this request
java.io.IOException - if an input/output error occurs

getRealPath

public java.lang.String getRealPath(java.lang.String path)
Deprecated. As of version 2.1 of the Java Servlet API, use ServletContext.getRealPath().

Return the real path of the specified virtual path.

Specified by:
getRealPath in interface javax.servlet.ServletRequest
Parameters:
path - Path to be translated

getRemoteAddr

public java.lang.String getRemoteAddr()
Return the remote IP address making this Request.

Specified by:
getRemoteAddr in interface javax.servlet.ServletRequest

getRemoteHost

public java.lang.String getRemoteHost()
Return the remote host name making this Request.

Specified by:
getRemoteHost in interface javax.servlet.ServletRequest

getRequestDispatcher

public abstract javax.servlet.RequestDispatcher getRequestDispatcher(java.lang.String path)
Return a RequestDispatcher that wraps the resource at the specified path, which may be interpreted as relative to the current request path.

Specified by:
getRequestDispatcher in interface javax.servlet.ServletRequest
Parameters:
path - Path of the resource to be wrapped

getScheme

public java.lang.String getScheme()
Return the scheme used to make this Request.

Specified by:
getScheme in interface javax.servlet.ServletRequest

getServerName

public java.lang.String getServerName()
Return the server name responding to this Request.

Specified by:
getServerName in interface javax.servlet.ServletRequest

getServerPort

public int getServerPort()
Return the server port responding to this Request.

Specified by:
getServerPort in interface javax.servlet.ServletRequest

isSecure

public boolean isSecure()
Was this request received on a secure connection?

Specified by:
isSecure in interface javax.servlet.ServletRequest

removeAttribute

public void removeAttribute(java.lang.String name)
Remove the specified request attribute if it exists.

Specified by:
removeAttribute in interface javax.servlet.ServletRequest
Parameters:
name - Name of the request attribute to remove

setAttribute

public void setAttribute(java.lang.String name,
                         java.lang.Object value)
Set the specified request attribute to the specified value.

Specified by:
setAttribute in interface javax.servlet.ServletRequest
Parameters:
name - Name of the request attribute to set
value - The associated value

setCharacterEncoding

public void setCharacterEncoding(java.lang.String enc)
                          throws java.io.UnsupportedEncodingException
Overrides the name of the character encoding used in the body of this request. This method must be called prior to reading request parameters or reading input using getReader().

Specified by:
setCharacterEncoding in interface javax.servlet.ServletRequest
Parameters:
enc - The character encoding to be used
Throws:
java.io.UnsupportedEncodingException - if the specified encoding is not supported
Since:
Servlet 2.3


Copyright © 2000-2001 Apache Software Foundation. All Rights Reserved.