Package jakarta.servlet
Class ServletRequestWrapper
- java.lang.Object
-
- jakarta.servlet.ServletRequestWrapper
-
- All Implemented Interfaces:
ServletRequest
- Direct Known Subclasses:
HttpServletRequestWrapper
public class ServletRequestWrapper extends java.lang.Object implements ServletRequest
Provides a convenient implementation of the ServletRequest interface that can be subclassed by developers wishing to adapt the request to a Servlet. This class implements the Wrapper or Decorator pattern. Methods default to calling through to the wrapped request object.- Since:
- Servlet 2.3
- See Also:
ServletRequest
-
-
Constructor Summary
Constructors Constructor Description ServletRequestWrapper(ServletRequest request)Creates a ServletRequest adaptor wrapping the given request object.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description AsyncContextgetAsyncContext()The default behavior of this method is to return getAsyncContext() on the wrapped request object.java.lang.ObjectgetAttribute(java.lang.String name)The default behavior of this method is to call getAttribute(String name) on the wrapped request object.java.util.Enumeration<java.lang.String>getAttributeNames()The default behavior of this method is to return getAttributeNames() on the wrapped request object.java.lang.StringgetCharacterEncoding()The default behavior of this method is to return getCharacterEncoding() on the wrapped request object.intgetContentLength()The default behavior of this method is to return getContentLength() on the wrapped request object.longgetContentLengthLong()The default behavior of this method is to return getContentLengthLong() on the wrapped request object.java.lang.StringgetContentType()The default behavior of this method is to return getContentType() on the wrapped request object.DispatcherTypegetDispatcherType()The default behavior of this method is to call getDispatcherType() on the wrapped request object.ServletInputStreamgetInputStream()The default behavior of this method is to return getInputStream() on the wrapped request object.java.lang.StringgetLocalAddr()The default behavior of this method is to return getLocalAddr() on the wrapped request object.java.util.LocalegetLocale()The default behavior of this method is to return getLocale() on the wrapped request object.java.util.Enumeration<java.util.Locale>getLocales()The default behavior of this method is to return getLocales() on the wrapped request object.java.lang.StringgetLocalName()The default behavior of this method is to return getLocalName() on the wrapped request object.intgetLocalPort()The default behavior of this method is to return getLocalPort() on the wrapped request object.java.lang.StringgetParameter(java.lang.String name)The default behavior of this method is to return getParameter(String name) on the wrapped request object.java.util.Map<java.lang.String,java.lang.String[]>getParameterMap()The default behavior of this method is to return getParameterMap() on the wrapped request object.java.util.Enumeration<java.lang.String>getParameterNames()The default behavior of this method is to return getParameterNames() on the wrapped request object.java.lang.String[]getParameterValues(java.lang.String name)The default behavior of this method is to return getParameterValues(String name) on the wrapped request object.java.lang.StringgetProtocol()The default behavior of this method is to return getProtocol() on the wrapped request object.java.io.BufferedReadergetReader()The default behavior of this method is to return getReader() on the wrapped request object.java.lang.StringgetRealPath(java.lang.String path)Deprecated.As of Version 3.0 of the Java Servlet APIjava.lang.StringgetRemoteAddr()The default behavior of this method is to return getRemoteAddr() on the wrapped request object.java.lang.StringgetRemoteHost()The default behavior of this method is to return getRemoteHost() on the wrapped request object.intgetRemotePort()The default behavior of this method is to return getRemotePort() on the wrapped request object.ServletRequestgetRequest()Get the wrapped request.RequestDispatchergetRequestDispatcher(java.lang.String path)The default behavior of this method is to return getRequestDispatcher(String path) on the wrapped request object.java.lang.StringgetScheme()The default behavior of this method is to return getScheme() on the wrapped request object.java.lang.StringgetServerName()The default behavior of this method is to return getServerName() on the wrapped request object.intgetServerPort()The default behavior of this method is to return getServerPort() on the wrapped request object.ServletContextgetServletContext()The default behavior of this method is to return getServletContext() on the wrapped request object.booleanisAsyncStarted()The default behavior of this method is to return isAsyncStarted() on the wrapped request object.booleanisAsyncSupported()The default behavior of this method is to return isAsyncSupported() on the wrapped request object.booleanisSecure()The default behavior of this method is to return isSecure() on the wrapped request object.booleanisWrapperFor(ServletRequest wrapped)TODO SERVLET3 - Add commentsbooleanisWrapperFor(java.lang.Class<?> wrappedType)TODO SERVLET3 - Add commentsvoidremoveAttribute(java.lang.String name)The default behavior of this method is to call removeAttribute(String name) on the wrapped request object.voidsetAttribute(java.lang.String name, java.lang.Object o)The default behavior of this method is to return setAttribute(String name, Object o) on the wrapped request object.voidsetCharacterEncoding(java.lang.String enc)The default behavior of this method is to set the character encoding on the wrapped request object.voidsetRequest(ServletRequest request)Sets the request object being wrapped.AsyncContextstartAsync()The default behavior of this method is to return startAsync() on the wrapped request object.AsyncContextstartAsync(ServletRequest servletRequest, ServletResponse servletResponse)The default behavior of this method is to return startAsync(Runnable) on the wrapped request object.
-
-
-
Constructor Detail
-
ServletRequestWrapper
public ServletRequestWrapper(ServletRequest request)
Creates a ServletRequest adaptor wrapping the given request object.- Parameters:
request- The request to wrap- Throws:
java.lang.IllegalArgumentException- if the request is null
-
-
Method Detail
-
getRequest
public ServletRequest getRequest()
Get the wrapped request.- Returns:
- the wrapped request object
-
setRequest
public void setRequest(ServletRequest request)
Sets the request object being wrapped.- Parameters:
request- The new wrapped request.- Throws:
java.lang.IllegalArgumentException- if the request is null.
-
getAttribute
public java.lang.Object getAttribute(java.lang.String name)
The default behavior of this method is to call getAttribute(String name) on the wrapped request object.- Specified by:
getAttributein interfaceServletRequest- Parameters:
name- aStringspecifying the name of the attribute- Returns:
- an
Objectcontaining the value of the attribute, ornullif the attribute does not exist
-
getAttributeNames
public java.util.Enumeration<java.lang.String> getAttributeNames()
The default behavior of this method is to return getAttributeNames() on the wrapped request object.- Specified by:
getAttributeNamesin interfaceServletRequest- Returns:
- an
Enumerationof strings containing the names of the request's attributes
-
getCharacterEncoding
public java.lang.String getCharacterEncoding()
The default behavior of this method is to return getCharacterEncoding() on the wrapped request object.- Specified by:
getCharacterEncodingin interfaceServletRequest- Returns:
- a
Stringcontaining the name of the character encoding, ornullif the request does not specify a character encoding
-
setCharacterEncoding
public void setCharacterEncoding(java.lang.String enc) throws java.io.UnsupportedEncodingExceptionThe default behavior of this method is to set the character encoding on the wrapped request object.- Specified by:
setCharacterEncodingin interfaceServletRequest- Parameters:
enc- aStringcontaining the name of the character encoding.- Throws:
java.io.UnsupportedEncodingException- if this is not a valid encoding
-
getContentLength
public int getContentLength()
The default behavior of this method is to return getContentLength() on the wrapped request object.- Specified by:
getContentLengthin interfaceServletRequest- Returns:
- an integer containing the length of the request body or -1 if the
length is not known or is greater than
Integer.MAX_VALUE
-
getContentLengthLong
public long getContentLengthLong()
The default behavior of this method is to return getContentLengthLong() on the wrapped request object.- Specified by:
getContentLengthLongin interfaceServletRequest- Returns:
- a long integer containing the length of the request body or -1 if the length is not known
- Since:
- Servlet 3.1
-
getContentType
public java.lang.String getContentType()
The default behavior of this method is to return getContentType() on the wrapped request object.- Specified by:
getContentTypein interfaceServletRequest- Returns:
- a
Stringcontaining the name of the MIME type of the request, or null if the type is not known
-
getInputStream
public ServletInputStream getInputStream() throws java.io.IOException
The default behavior of this method is to return getInputStream() on the wrapped request object.- Specified by:
getInputStreamin interfaceServletRequest- Returns:
- a
ServletInputStreamobject containing the body of the request - Throws:
java.io.IOException- if an input or output exception occurred
-
getParameter
public java.lang.String getParameter(java.lang.String name)
The default behavior of this method is to return getParameter(String name) on the wrapped request object.- Specified by:
getParameterin interfaceServletRequest- Parameters:
name- aStringspecifying the name of the parameter- Returns:
- a
Stringrepresenting the single value of the parameter - See Also:
ServletRequest.getParameterValues(java.lang.String)
-
getParameterMap
public java.util.Map<java.lang.String,java.lang.String[]> getParameterMap()
The default behavior of this method is to return getParameterMap() on the wrapped request object.- Specified by:
getParameterMapin interfaceServletRequest- Returns:
- an immutable java.util.Map containing parameter names as keys and parameter values as map values. The keys in the parameter map are of type String. The values in the parameter map are of type String array.
-
getParameterNames
public java.util.Enumeration<java.lang.String> getParameterNames()
The default behavior of this method is to return getParameterNames() on the wrapped request object.- Specified by:
getParameterNamesin interfaceServletRequest- Returns:
- an
EnumerationofStringobjects, eachStringcontaining the name of a request parameter; or an emptyEnumerationif the request has no parameters
-
getParameterValues
public java.lang.String[] getParameterValues(java.lang.String name)
The default behavior of this method is to return getParameterValues(String name) on the wrapped request object.- Specified by:
getParameterValuesin interfaceServletRequest- Parameters:
name- aStringcontaining the name of the parameter whose value is requested- Returns:
- an array of
Stringobjects containing the parameter's values - See Also:
ServletRequest.getParameter(java.lang.String)
-
getProtocol
public java.lang.String getProtocol()
The default behavior of this method is to return getProtocol() on the wrapped request object.- Specified by:
getProtocolin interfaceServletRequest- Returns:
- a
Stringcontaining the protocol name and version number
-
getScheme
public java.lang.String getScheme()
The default behavior of this method is to return getScheme() on the wrapped request object.- Specified by:
getSchemein interfaceServletRequest- Returns:
- a
Stringcontaining the name of the scheme used to make this request
-
getServerName
public java.lang.String getServerName()
The default behavior of this method is to return getServerName() on the wrapped request object.- Specified by:
getServerNamein interfaceServletRequest- Returns:
- a
Stringcontaining the name of the server
-
getServerPort
public int getServerPort()
The default behavior of this method is to return getServerPort() on the wrapped request object.- Specified by:
getServerPortin interfaceServletRequest- Returns:
- an integer specifying the port number
-
getReader
public java.io.BufferedReader getReader() throws java.io.IOExceptionThe default behavior of this method is to return getReader() on the wrapped request object.- Specified by:
getReaderin interfaceServletRequest- Returns:
- a
BufferedReadercontaining the body of the request - Throws:
java.io.UnsupportedEncodingException- if the character set encoding used is not supported and the text cannot be decodedjava.io.IOException- if an input or output exception occurred- See Also:
ServletRequest.getInputStream()
-
getRemoteAddr
public java.lang.String getRemoteAddr()
The default behavior of this method is to return getRemoteAddr() on the wrapped request object.- Specified by:
getRemoteAddrin interfaceServletRequest- Returns:
- a
Stringcontaining the IP address of the client that sent the request
-
getRemoteHost
public java.lang.String getRemoteHost()
The default behavior of this method is to return getRemoteHost() on the wrapped request object.- Specified by:
getRemoteHostin interfaceServletRequest- Returns:
- a
Stringcontaining the fully qualified name of the client
-
setAttribute
public void setAttribute(java.lang.String name, java.lang.Object o)The default behavior of this method is to return setAttribute(String name, Object o) on the wrapped request object.- Specified by:
setAttributein interfaceServletRequest- Parameters:
name- aStringspecifying the name of the attributeo- theObjectto be stored
-
removeAttribute
public void removeAttribute(java.lang.String name)
The default behavior of this method is to call removeAttribute(String name) on the wrapped request object.- Specified by:
removeAttributein interfaceServletRequest- Parameters:
name- aStringspecifying the name of the attribute to remove
-
getLocale
public java.util.Locale getLocale()
The default behavior of this method is to return getLocale() on the wrapped request object.- Specified by:
getLocalein interfaceServletRequest- Returns:
- the preferred
Localefor the client
-
getLocales
public java.util.Enumeration<java.util.Locale> getLocales()
The default behavior of this method is to return getLocales() on the wrapped request object.- Specified by:
getLocalesin interfaceServletRequest- Returns:
- an
Enumerationof preferredLocaleobjects for the client
-
isSecure
public boolean isSecure()
The default behavior of this method is to return isSecure() on the wrapped request object.- Specified by:
isSecurein interfaceServletRequest- Returns:
- a boolean indicating if the request was made using a secure channel
-
getRequestDispatcher
public RequestDispatcher getRequestDispatcher(java.lang.String path)
The default behavior of this method is to return getRequestDispatcher(String path) on the wrapped request object.- Specified by:
getRequestDispatcherin interfaceServletRequest- Parameters:
path- aStringspecifying the pathname to the resource. If it is relative, it must be relative against the current servlet.- Returns:
- a
RequestDispatcherobject that acts as a wrapper for the resource at the specified path, ornullif the servlet container cannot return aRequestDispatcher - See Also:
RequestDispatcher,ServletContext.getRequestDispatcher(java.lang.String)
-
getRealPath
@Deprecated public java.lang.String getRealPath(java.lang.String path)
Deprecated.As of Version 3.0 of the Java Servlet APIThe default behavior of this method is to return getRealPath(String path) on the wrapped request object.- Specified by:
getRealPathin interfaceServletRequest- Parameters:
path- The virtual path to be converted to a real path- Returns:
ServletContext.getRealPath(String)
-
getRemotePort
public int getRemotePort()
The default behavior of this method is to return getRemotePort() on the wrapped request object.- Specified by:
getRemotePortin interfaceServletRequest- Returns:
- an integer specifying the port number
- Since:
- Servlet 2.4
-
getLocalName
public java.lang.String getLocalName()
The default behavior of this method is to return getLocalName() on the wrapped request object.- Specified by:
getLocalNamein interfaceServletRequest- Returns:
- a
Stringcontaining the host name of the IP on which the request was received. - Since:
- Servlet 2.4
-
getLocalAddr
public java.lang.String getLocalAddr()
The default behavior of this method is to return getLocalAddr() on the wrapped request object.- Specified by:
getLocalAddrin interfaceServletRequest- Returns:
- a
Stringcontaining the IP address on which the request was received. - Since:
- Servlet 2.4
-
getLocalPort
public int getLocalPort()
The default behavior of this method is to return getLocalPort() on the wrapped request object.- Specified by:
getLocalPortin interfaceServletRequest- Returns:
- an integer specifying the port number
- Since:
- Servlet 2.4
-
getServletContext
public ServletContext getServletContext()
The default behavior of this method is to return getServletContext() on the wrapped request object.- Specified by:
getServletContextin interfaceServletRequest- Returns:
- TODO
- Since:
- Servlet 3.0
-
startAsync
public AsyncContext startAsync() throws java.lang.IllegalStateException
The default behavior of this method is to return startAsync() on the wrapped request object.- Specified by:
startAsyncin interfaceServletRequest- Returns:
- TODO
- Throws:
java.lang.IllegalStateException- If asynchronous processing is not supported for this request or if the request is already in asynchronous mode- Since:
- Servlet 3.0
-
startAsync
public AsyncContext startAsync(ServletRequest servletRequest, ServletResponse servletResponse) throws java.lang.IllegalStateException
The default behavior of this method is to return startAsync(Runnable) on the wrapped request object.- Specified by:
startAsyncin interfaceServletRequest- Parameters:
servletRequest- The ServletRequest with which to initialise the asynchronous contextservletResponse- The ServletResponse with which to initialise the asynchronous context- Returns:
- TODO
- Throws:
java.lang.IllegalStateException- If asynchronous processing is not supported for this request or if the request is already in asynchronous mode- Since:
- Servlet 3.0
-
isAsyncStarted
public boolean isAsyncStarted()
The default behavior of this method is to return isAsyncStarted() on the wrapped request object.- Specified by:
isAsyncStartedin interfaceServletRequest- Returns:
- TODO
- Since:
- Servlet 3.0
-
isAsyncSupported
public boolean isAsyncSupported()
The default behavior of this method is to return isAsyncSupported() on the wrapped request object.- Specified by:
isAsyncSupportedin interfaceServletRequest- Returns:
- TODO
- Since:
- Servlet 3.0
-
getAsyncContext
public AsyncContext getAsyncContext()
The default behavior of this method is to return getAsyncContext() on the wrapped request object.- Specified by:
getAsyncContextin interfaceServletRequest- Returns:
- The current AsyncContext
- Since:
- Servlet 3.0
-
isWrapperFor
public boolean isWrapperFor(ServletRequest wrapped)
TODO SERVLET3 - Add comments- Parameters:
wrapped- The request to compare to the wrapped request- Returns:
trueif the request wrapped by this wrapper (or series of wrappers) is the same as the supplied request, otherwisefalse- Since:
- Servlet 3.0
-
isWrapperFor
public boolean isWrapperFor(java.lang.Class<?> wrappedType)
TODO SERVLET3 - Add comments- Parameters:
wrappedType- The class to compare to the class of the wrapped request- Returns:
trueif the request wrapped by this wrapper (or series of wrappers) is the same type as the supplied type, otherwisefalse- Since:
- Servlet 3.0
-
getDispatcherType
public DispatcherType getDispatcherType()
The default behavior of this method is to call getDispatcherType() on the wrapped request object.- Specified by:
getDispatcherTypein interfaceServletRequest- Returns:
- TODO
- Since:
- Servlet 3.0
-
-