org.springframework.web.multipart.support
Class AbstractMultipartHttpServletRequest

java.lang.Object
  extended by javax.servlet.ServletRequestWrapper
      extended by javax.servlet.http.HttpServletRequestWrapper
          extended by org.springframework.web.multipart.support.AbstractMultipartHttpServletRequest
All Implemented Interfaces:
HttpServletRequest, ServletRequest, MultipartHttpServletRequest, MultipartRequest
Direct Known Subclasses:
DefaultMultipartHttpServletRequest, StandardMultipartHttpServletRequest

public abstract class AbstractMultipartHttpServletRequest
extends HttpServletRequestWrapper
implements MultipartHttpServletRequest

Abstract base implementation of the MultipartHttpServletRequest interface. Provides management of pre-generated MultipartFile instances.

Since:
06.10.2003
Author:
Juergen Hoeller, Arjen Poutsma

Field Summary
 
Fields inherited from interface javax.servlet.http.HttpServletRequest
BASIC_AUTH, CLIENT_CERT_AUTH, DIGEST_AUTH, FORM_AUTH
 
Constructor Summary
protected AbstractMultipartHttpServletRequest(HttpServletRequest request)
          Wrap the given HttpServletRequest in a MultipartHttpServletRequest.
 
Method Summary
 MultipartFile getFile(String name)
          Return the contents plus description of an uploaded file in this request, or null if it does not exist.
 Map<String,MultipartFile> getFileMap()
          Return a Map of the multipart files contained in this request.
 Iterator<String> getFileNames()
          Return an Iterator of String objects containing the parameter names of the multipart files contained in this request.
 List<MultipartFile> getFiles(String name)
          Return the contents plus description of uploaded files in this request, or an empty list if it does not exist.
 MultiValueMap<String,MultipartFile> getMultiFileMap()
          Return a MultiValueMap of the multipart files contained in this request.
protected  MultiValueMap<String,MultipartFile> getMultipartFiles()
          Obtain the MultipartFile Map for retrieval, lazily initializing it if necessary.
 HttpServletRequest getRequest()
           
 HttpHeaders getRequestHeaders()
          Return this request's headers as a convenient HttpHeaders instance.
 HttpMethod getRequestMethod()
          Return this request's method as a convenient HttpMethod instance.
protected  void initializeMultipart()
          Lazily initialize the multipart request, if possible.
protected  void setMultipartFiles(MultiValueMap<String,MultipartFile> multipartFiles)
          Set a Map with parameter names as keys and list of MultipartFile objects as values.
 
Methods inherited from class javax.servlet.http.HttpServletRequestWrapper
getAuthType, getContextPath, getCookies, getDateHeader, getHeader, getHeaderNames, getHeaders, getIntHeader, getMethod, getPathInfo, getPathTranslated, getQueryString, getRemoteUser, getRequestedSessionId, getRequestURI, getRequestURL, getServletPath, getSession, getSession, getUserPrincipal, isRequestedSessionIdFromCookie, isRequestedSessionIdFromUrl, isRequestedSessionIdFromURL, isRequestedSessionIdValid, isUserInRole
 
Methods inherited from class javax.servlet.ServletRequestWrapper
getAttribute, getAttributeNames, getCharacterEncoding, getContentLength, getContentType, getInputStream, getLocalAddr, getLocale, getLocales, getLocalName, getLocalPort, getParameter, getParameterMap, getParameterNames, getParameterValues, getProtocol, getReader, getRealPath, getRemoteAddr, getRemoteHost, getRemotePort, getRequestDispatcher, getScheme, getServerName, getServerPort, isSecure, removeAttribute, setAttribute, setCharacterEncoding, setRequest
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.springframework.web.multipart.MultipartHttpServletRequest
getMultipartHeaders
 
Methods inherited from interface javax.servlet.http.HttpServletRequest
getAuthType, getContextPath, getCookies, getDateHeader, getHeader, getHeaderNames, getHeaders, getIntHeader, getMethod, getPathInfo, getPathTranslated, getQueryString, getRemoteUser, getRequestedSessionId, getRequestURI, getRequestURL, getServletPath, getSession, getSession, getUserPrincipal, isRequestedSessionIdFromCookie, isRequestedSessionIdFromUrl, isRequestedSessionIdFromURL, isRequestedSessionIdValid, isUserInRole
 
Methods inherited from interface javax.servlet.ServletRequest
getAttribute, getAttributeNames, getCharacterEncoding, getContentLength, getContentType, getInputStream, getLocalAddr, getLocale, getLocales, getLocalName, getLocalPort, getParameter, getParameterMap, getParameterNames, getParameterValues, getProtocol, getReader, getRealPath, getRemoteAddr, getRemoteHost, getRemotePort, getRequestDispatcher, getScheme, getServerName, getServerPort, isSecure, removeAttribute, setAttribute, setCharacterEncoding
 
Methods inherited from interface org.springframework.web.multipart.MultipartRequest
getMultipartContentType
 

Constructor Detail

AbstractMultipartHttpServletRequest

protected AbstractMultipartHttpServletRequest(HttpServletRequest request)
Wrap the given HttpServletRequest in a MultipartHttpServletRequest.

Parameters:
request - the request to wrap
Method Detail

getRequest

public HttpServletRequest getRequest()
Overrides:
getRequest in class ServletRequestWrapper

getRequestMethod

public HttpMethod getRequestMethod()
Description copied from interface: MultipartHttpServletRequest
Return this request's method as a convenient HttpMethod instance.

Specified by:
getRequestMethod in interface MultipartHttpServletRequest

getRequestHeaders

public HttpHeaders getRequestHeaders()
Description copied from interface: MultipartHttpServletRequest
Return this request's headers as a convenient HttpHeaders instance.

Specified by:
getRequestHeaders in interface MultipartHttpServletRequest

getFileNames

public Iterator<String> getFileNames()
Description copied from interface: MultipartRequest
Return an Iterator of String objects containing the parameter names of the multipart files contained in this request. These are the field names of the form (like with normal parameters), not the original file names.

Specified by:
getFileNames in interface MultipartRequest
Returns:
the names of the files

getFile

public MultipartFile getFile(String name)
Description copied from interface: MultipartRequest
Return the contents plus description of an uploaded file in this request, or null if it does not exist.

Specified by:
getFile in interface MultipartRequest
Parameters:
name - a String specifying the parameter name of the multipart file
Returns:
the uploaded content in the form of a MultipartFile object

getFiles

public List<MultipartFile> getFiles(String name)
Description copied from interface: MultipartRequest
Return the contents plus description of uploaded files in this request, or an empty list if it does not exist.

Specified by:
getFiles in interface MultipartRequest
Parameters:
name - a String specifying the parameter name of the multipart file
Returns:
the uploaded content in the form of a MultipartFile list

getFileMap

public Map<String,MultipartFile> getFileMap()
Description copied from interface: MultipartRequest
Return a Map of the multipart files contained in this request.

Specified by:
getFileMap in interface MultipartRequest
Returns:
a map containing the parameter names as keys, and the MultipartFile objects as values

getMultiFileMap

public MultiValueMap<String,MultipartFile> getMultiFileMap()
Description copied from interface: MultipartRequest
Return a MultiValueMap of the multipart files contained in this request.

Specified by:
getMultiFileMap in interface MultipartRequest
Returns:
a map containing the parameter names as keys, and a list of MultipartFile objects as values

setMultipartFiles

protected final void setMultipartFiles(MultiValueMap<String,MultipartFile> multipartFiles)
Set a Map with parameter names as keys and list of MultipartFile objects as values. To be invoked by subclasses on initialization.


getMultipartFiles

protected MultiValueMap<String,MultipartFile> getMultipartFiles()
Obtain the MultipartFile Map for retrieval, lazily initializing it if necessary.

See Also:
initializeMultipart()

initializeMultipart

protected void initializeMultipart()
Lazily initialize the multipart request, if possible. Only called if not already eagerly initialized.