## org.springframework.web.multipart.support
Class DefaultMultipartHttpServletRequest

    java.lang.Object
      javax.servlet.ServletRequestWrapper
          javax.servlet.http.HttpServletRequestWrapper
              org.springframework.web.multipart.support.AbstractMultipartHttpServletRequest
                  org.springframework.web.multipart.support.DefaultMultipartHttpServletRequest

All Implemented Interfaces:
  HttpServletRequest, ServletRequest, MultipartHttpServletRequest, MultipartRequest

    public class DefaultMultipartHttpServletRequest

extends AbstractMultipartHttpServletRequest

Default implementation of the `MultipartHttpServletRequest` interface. Provides management of pre-generated parameter values.

Since:
  29.09.2003
Author:
  Trevor D. Cook, Juergen Hoeller, Arjen Poutsma
See Also:
  `MultipartResolver`

Field Summary

Fields inherited from interface javax.servlet.http.HttpServletRequest
`BASIC_AUTH, CLIENT_CERT_AUTH, DIGEST_AUTH, FORM_AUTH`

Constructor Summary
`DefaultMultipartHttpServletRequest(HttpServletRequest request)` Wrap the given HttpServletRequest in a MultipartHttpServletRequest.
`DefaultMultipartHttpServletRequest(HttpServletRequest request, MultiValueMap<String,MultipartFile> mpFiles, Map<String,String[]> mpParams, Map<String,String> mpParamContentTypes)` Wrap the given HttpServletRequest in a MultipartHttpServletRequest.

Method Summary
`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.
`protected Map<String,String>` `getMultipartParameterContentTypes()` Obtain the multipart parameter content type Map for retrieval, lazily initializing it if necessary.
`protected Map<String,String[]>` `getMultipartParameters()` Obtain the multipart parameter Map for retrieval, lazily initializing it if necessary.
`String` `getParameter(String name)`
`Map<String,String[]>` `getParameterMap()`
`Enumeration<String>` `getParameterNames()`
`String[]` `getParameterValues(String name)`
`protected void` `setMultipartParameterContentTypes(Map<String,String> multipartParameterContentTypes)` Set a Map with parameter names as keys and content type Strings as values.
`protected void` `setMultipartParameters(Map<String,String[]> multipartParameters)` Set a Map with parameter names as keys and String array objects as values.

Methods inherited from class org.springframework.web.multipart.support.AbstractMultipartHttpServletRequest
`getFile, getFileMap, getFileNames, getFiles, getMultiFileMap, getMultipartFiles, getRequest, getRequestHeaders, getRequestMethod, initializeMultipart, setMultipartFiles`

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, 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 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, getProtocol, getReader, getRealPath, getRemoteAddr, getRemoteHost, getRemotePort, getRequestDispatcher, getScheme, getServerName, getServerPort, isSecure, removeAttribute, setAttribute, setCharacterEncoding`

Constructor Detail

### DefaultMultipartHttpServletRequest

    public DefaultMultipartHttpServletRequest(HttpServletRequest request,
                                              MultiValueMap<String,MultipartFile> mpFiles,
                                              Map<String,String[]> mpParams,
                                              Map<String,String> mpParamContentTypes)

  Wrap the given HttpServletRequest in a MultipartHttpServletRequest.

  Parameters:
    `request` - the servlet request to wrap
    `mpFiles` - a map of the multipart files
    `mpParams` - a map of the parameters to expose, with Strings as keys and String arrays as values

### DefaultMultipartHttpServletRequest

    public DefaultMultipartHttpServletRequest(HttpServletRequest request)

  Wrap the given HttpServletRequest in a MultipartHttpServletRequest.

  Parameters:
    `request` - the servlet request to wrap

Method Detail

### getParameterNames

    public Enumeration<String> getParameterNames()

  Specified by:
    `getParameterNames` in interface `ServletRequest`
  Overrides:
    `getParameterNames` in class `ServletRequestWrapper`

### getParameter

    public String getParameter(String name)

  Specified by:
    `getParameter` in interface `ServletRequest`
  Overrides:
    `getParameter` in class `ServletRequestWrapper`

### getParameterValues

    public String[] getParameterValues(String name)

  Specified by:
    `getParameterValues` in interface `ServletRequest`
  Overrides:
    `getParameterValues` in class `ServletRequestWrapper`

### getParameterMap

    public Map<String,String[]> getParameterMap()

  Specified by:
    `getParameterMap` in interface `ServletRequest`
  Overrides:
    `getParameterMap` in class `ServletRequestWrapper`

### getMultipartContentType

    public String getMultipartContentType(String paramOrFileName)

  Description copied from interface: `MultipartRequest`
  Determine the content type of the specified request part.

  Parameters:
    `paramOrFileName` - the name of the part
  Returns:
    the associated content type, or `null` if not defined

### 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.

### setMultipartParameters

    protected final void setMultipartParameters(Map<String,String[]> multipartParameters)

  Set a Map with parameter names as keys and String array objects as values. To be invoked by subclasses on initialization.

### getMultipartParameters

    protected Map<String,String[]> getMultipartParameters()

  Obtain the multipart parameter Map for retrieval, lazily initializing it if necessary.

  See Also:
    `AbstractMultipartHttpServletRequest.initializeMultipart()`

### setMultipartParameterContentTypes

    protected final void setMultipartParameterContentTypes(Map<String,String> multipartParameterContentTypes)

  Set a Map with parameter names as keys and content type Strings as values. To be invoked by subclasses on initialization.

### getMultipartParameterContentTypes

    protected Map<String,String> getMultipartParameterContentTypes()

  Obtain the multipart parameter content type Map for retrieval, lazily initializing it if necessary.

  See Also:
    `AbstractMultipartHttpServletRequest.initializeMultipart()`