Class AbstractMultipartHttpServletRequest
- java.lang.Object
- javax.servlet.ServletRequestWrapper
- javax.servlet.http.HttpServletRequestWrapper
- 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
Constructors Modifier Constructor Description protected
AbstractMultipartHttpServletRequest(HttpServletRequest request)
Wrap the given HttpServletRequest in a MultipartHttpServletRequest.
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description MultipartFile
getFile(String name)
Return the contents plus description of an uploaded file in this request, ornull
if it does not exist.Map<String,MultipartFile>
getFileMap()
Return aMap
of the multipart files contained in this request.Iterator<String>
getFileNames()
Return anIterator
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 aMultiValueMap
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()
Return the wrapped request object.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.boolean
isResolved()
Determine whether the underlying multipart request has been resolved.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
authenticate, changeSessionId, getAuthType, getContextPath, getCookies, getDateHeader, getHeader, getHeaderNames, getHeaders, getHttpServletMapping, getIntHeader, getMethod, getPart, getParts, getPathInfo, getPathTranslated, getQueryString, getRemoteUser, getRequestedSessionId, getRequestURI, getRequestURL, getServletPath, getSession, getSession, getTrailerFields, getUserPrincipal, isRequestedSessionIdFromCookie, isRequestedSessionIdFromUrl, isRequestedSessionIdFromURL, isRequestedSessionIdValid, isTrailerFieldsReady, isUserInRole, login, logout, newPushBuilder, upgrade
Methods inherited from class javax.servlet.ServletRequestWrapper
getAsyncContext, getAttribute, getAttributeNames, getCharacterEncoding, getContentLength, getContentLengthLong, getContentType, getDispatcherType, getInputStream, getLocalAddr, getLocale, getLocales, getLocalName, getLocalPort, getParameter, getParameterMap, getParameterNames, getParameterValues, getProtocol, getReader, getRealPath, getRemoteAddr, getRemoteHost, getRemotePort, getRequestDispatcher, getScheme, getServerName, getServerPort, getServletContext, isAsyncStarted, isAsyncSupported, isSecure, isWrapperFor, isWrapperFor, removeAttribute, setAttribute, setCharacterEncoding, setRequest, startAsync, startAsync
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
authenticate, changeSessionId, getAuthType, getContextPath, getCookies, getDateHeader, getHeader, getHeaderNames, getHeaders, getHttpServletMapping, getIntHeader, getMethod, getPart, getParts, getPathInfo, getPathTranslated, getQueryString, getRemoteUser, getRequestedSessionId, getRequestURI, getRequestURL, getServletPath, getSession, getSession, getTrailerFields, getUserPrincipal, isRequestedSessionIdFromCookie, isRequestedSessionIdFromUrl, isRequestedSessionIdFromURL, isRequestedSessionIdValid, isTrailerFieldsReady, isUserInRole, login, logout, newPushBuilder, upgrade
Methods inherited from interface org.springframework.web.multipart.MultipartHttpServletRequest
getMultipartHeaders
Methods inherited from interface org.springframework.web.multipart.MultipartRequest
getMultipartContentType
Methods inherited from interface javax.servlet.ServletRequest
getAsyncContext, getAttribute, getAttributeNames, getCharacterEncoding, getContentLength, getContentLengthLong, getContentType, getDispatcherType, getInputStream, getLocalAddr, getLocale, getLocales, getLocalName, getLocalPort, getParameter, getParameterMap, getParameterNames, getParameterValues, getProtocol, getReader, getRealPath, getRemoteAddr, getRemoteHost, getRemotePort, getRequestDispatcher, getScheme, getServerName, getServerPort, getServletContext, isAsyncStarted, isAsyncSupported, isSecure, removeAttribute, setAttribute, setCharacterEncoding, startAsync, startAsync
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()
Description copied from class:javax.servlet.ServletRequestWrapper
Return the wrapped request object.- Overrides:
getRequest
in classServletRequestWrapper
- Returns:
- the wrapped
ServletRequest
getRequestMethod
public HttpMethod getRequestMethod()
Description copied from interface:MultipartHttpServletRequest
Return this request's method as a convenient HttpMethod instance.- Specified by:
getRequestMethod
in interfaceMultipartHttpServletRequest
getRequestHeaders
public HttpHeaders getRequestHeaders()
Description copied from interface:MultipartHttpServletRequest
Return this request's headers as a convenient HttpHeaders instance.- Specified by:
getRequestHeaders
in interfaceMultipartHttpServletRequest
getFileNames
public Iterator<String> getFileNames()
Description copied from interface:MultipartRequest
Return anIterator
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 interfaceMultipartRequest
- 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, ornull
if it does not exist.- Specified by:
getFile
in interfaceMultipartRequest
- 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 interfaceMultipartRequest
- 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 aMap
of the multipart files contained in this request.- Specified by:
getFileMap
in interfaceMultipartRequest
- 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 aMultiValueMap
of the multipart files contained in this request.- Specified by:
getMultiFileMap
in interfaceMultipartRequest
- Returns:
- a map containing the parameter names as keys, and a list of
MultipartFile
objects as values
isResolved
public boolean isResolved()
Determine whether the underlying multipart request has been resolved.- Returns:
true
when eagerly initialized or lazily triggered,false
in case of a lazy-resolution request that got aborted before any parameters or multipart files have been accessed- Since:
- 4.3.15
- See Also:
getMultipartFiles()
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.