org.springframework.mock.web
Class MockMultipartHttpServletRequest

java.lang.Object
  extended by org.springframework.mock.web.MockHttpServletRequest
      extended by org.springframework.mock.web.MockMultipartHttpServletRequest
All Implemented Interfaces:
HttpServletRequest, ServletRequest, MultipartHttpServletRequest, MultipartRequest

public class MockMultipartHttpServletRequest
extends MockHttpServletRequest
implements MultipartHttpServletRequest

Mock implementation of the MultipartHttpServletRequest interface.

Useful for testing application controllers that access multipart uploads. The MockMultipartFile can be used to populate these mock requests with files.

Since:
2.0
Author:
Juergen Hoeller, Eric Crampton, Arjen Poutsma
See Also:
MockMultipartFile

Field Summary
 
Fields inherited from class org.springframework.mock.web.MockHttpServletRequest
DEFAULT_PROTOCOL, DEFAULT_REMOTE_ADDR, DEFAULT_REMOTE_HOST, DEFAULT_SERVER_ADDR, DEFAULT_SERVER_NAME, DEFAULT_SERVER_PORT
 
Fields inherited from interface javax.servlet.http.HttpServletRequest
BASIC_AUTH, CLIENT_CERT_AUTH, DIGEST_AUTH, FORM_AUTH
 
Constructor Summary
MockMultipartHttpServletRequest()
           
 
Method Summary
 void addFile(MultipartFile file)
          Add a file to this request.
 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.
 String getMultipartContentType(String paramOrFileName)
          Determine the content type of the specified request part.
 HttpHeaders getMultipartHeaders(String paramOrFileName)
          Return the headers associated with the specified part of the multipart request.
 HttpHeaders getRequestHeaders()
          Return this request's headers as a convenient HttpHeaders instance.
 HttpMethod getRequestMethod()
          Return this request's method as a convenient HttpMethod instance.
 
Methods inherited from class org.springframework.mock.web.MockHttpServletRequest
addHeader, addParameter, addParameter, addParameters, addPreferredLocale, addUserRole, authenticate, checkActive, clearAttributes, close, getAttribute, getAttributeNames, getAuthType, getCharacterEncoding, getContentLength, getContentType, getContextPath, getCookies, getDateHeader, getHeader, getHeaderNames, getHeaders, getInputStream, getIntHeader, getLocalAddr, getLocale, getLocales, getLocalName, getLocalPort, getMethod, getParameter, getParameterMap, getParameterNames, getParameterValues, getPathInfo, getPathTranslated, getProtocol, getQueryString, getReader, getRealPath, getRemoteAddr, getRemoteHost, getRemotePort, getRemoteUser, getRequestDispatcher, getRequestedSessionId, getRequestURI, getRequestURL, getScheme, getServerName, getServerPort, getServletContext, getServletPath, getSession, getSession, getUserPrincipal, invalidate, isActive, isRequestedSessionIdFromCookie, isRequestedSessionIdFromUrl, isRequestedSessionIdFromURL, isRequestedSessionIdValid, isSecure, isUserInRole, login, logout, removeAllParameters, removeAttribute, removeParameter, setAttribute, setAuthType, setCharacterEncoding, setContent, setContentType, setContextPath, setCookies, setLocalAddr, setLocalName, setLocalPort, setMethod, setParameter, setParameter, setParameters, setPathInfo, setProtocol, setQueryString, setRemoteAddr, setRemoteHost, setRemotePort, setRemoteUser, setRequestedSessionId, setRequestedSessionIdFromCookie, setRequestedSessionIdFromURL, setRequestedSessionIdValid, setRequestURI, setScheme, setSecure, setServerName, setServerPort, setServletPath, setSession, setUserPrincipal
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
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
 

Constructor Detail

MockMultipartHttpServletRequest

public MockMultipartHttpServletRequest()
Method Detail

addFile

public void addFile(MultipartFile file)
Add a file to this request. The parameter name from the multipart form is taken from the MultipartFile.getName().

Parameters:
file - multipart file to be added

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

getMultipartContentType

public String getMultipartContentType(String paramOrFileName)
Description copied from interface: MultipartRequest
Determine the content type of the specified request part.

Specified by:
getMultipartContentType in interface MultipartRequest
Parameters:
paramOrFileName - the name of the part
Returns:
the associated content type, or null if not defined

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

getMultipartHeaders

public HttpHeaders getMultipartHeaders(String paramOrFileName)
Description copied from interface: MultipartHttpServletRequest
Return the headers associated with the specified part of the multipart request.

If the underlying implementation supports access to headers, then all headers are returned. Otherwise, the returned headers will include a 'Content-Type' header at the very least.

Specified by:
getMultipartHeaders in interface MultipartHttpServletRequest