## org.springframework.web.portlet.multipart
Class DefaultMultipartActionRequest

    java.lang.Object
      javax.portlet.filter.PortletRequestWrapper
          javax.portlet.filter.ActionRequestWrapper
              org.springframework.web.portlet.multipart.DefaultMultipartActionRequest

All Implemented Interfaces:
  ActionRequest, PortletRequest, MultipartRequest, MultipartActionRequest

    public class DefaultMultipartActionRequest

extends javax.portlet.filter.ActionRequestWrapper
implements MultipartActionRequest

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

Since:
  2.0
Author:
  Juergen Hoeller, Arjen Poutsma
See Also:
  `PortletMultipartResolver`

Field Summary

Fields inherited from interface javax.portlet.PortletRequest
`BASIC_AUTH, CLIENT_CERT_AUTH, DIGEST_AUTH, FORM_AUTH, USER_INFO`

Constructor Summary
`protected` `DefaultMultipartActionRequest(ActionRequest request)` Wrap the given Portlet ActionRequest in a MultipartActionRequest.
`` `DefaultMultipartActionRequest(ActionRequest request, MultiValueMap<String,MultipartFile> mpFiles, Map<String,String[]> mpParams, Map<String,String> mpParamContentTypes)` Wrap the given Portlet ActionRequest in a MultipartActionRequest.

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.
`String` `getMultipartContentType(String paramOrFileName)` Determine the content type of the specified request part.
`protected MultiValueMap<String,MultipartFile>` `getMultipartFiles()` Obtain the MultipartFile Map for retrieval, lazily initializing it if necessary.
`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` `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.
`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 javax.portlet.filter.ActionRequestWrapper
`getCharacterEncoding, getContentLength, getContentType, getMethod, getPortletInputStream, getReader, getRequest, setCharacterEncoding, setRequest`

Methods inherited from class javax.portlet.filter.PortletRequestWrapper

`getAttribute, getAttributeNames, getAuthType, getContextPath, getCookies, getLocale, getLocales, getPortalContext, getPortletMode, getPortletSession, getPortletSession, getPreferences, getPrivateParameterMap, getProperties, getProperty, getPropertyNames, getPublicParameterMap, getRemoteUser, getRequestedSessionId, getResponseContentType, getResponseContentTypes, getScheme, getServerName, getServerPort, getUserPrincipal, getWindowID, getWindowState, isPortletModeAllowed, isRequestedSessionIdValid, isSecure, isUserInRole, isWindowStateAllowed, removeAttribute, setAttribute, setRequest`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Methods inherited from interface javax.portlet.ActionRequest
`getCharacterEncoding, getContentLength, getContentType, getPortletInputStream, getReader, setCharacterEncoding`

Methods inherited from interface javax.portlet.PortletRequest

`getAttribute, getAttributeNames, getAuthType, getContextPath, getLocale, getLocales, getPortalContext, getPortletMode, getPortletSession, getPortletSession, getPreferences, getProperties, getProperty, getPropertyNames, getRemoteUser, getRequestedSessionId, getResponseContentType, getResponseContentTypes, getScheme, getServerName, getServerPort, getUserPrincipal, getWindowState, isPortletModeAllowed, isRequestedSessionIdValid, isSecure, isUserInRole, isWindowStateAllowed, removeAttribute, setAttribute`

Constructor Detail

### DefaultMultipartActionRequest

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

  Wrap the given Portlet ActionRequest in a MultipartActionRequest.

  Parameters:
    `request` - the 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

### DefaultMultipartActionRequest

    protected DefaultMultipartActionRequest(ActionRequest request)

  Wrap the given Portlet ActionRequest in a MultipartActionRequest.

  Parameters:
    `request` - the request to wrap

Method Detail

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

### getParameterNames

    public Enumeration<String> getParameterNames()

  Specified by:
    `getParameterNames` in interface `PortletRequest`
  Overrides:
    `getParameterNames` in class `javax.portlet.filter.PortletRequestWrapper`

### getParameter

    public String getParameter(String name)

  Specified by:
    `getParameter` in interface `PortletRequest`
  Overrides:
    `getParameter` in class `javax.portlet.filter.PortletRequestWrapper`

### getParameterValues

    public String[] getParameterValues(String name)

  Specified by:
    `getParameterValues` in interface `PortletRequest`
  Overrides:
    `getParameterValues` in class `javax.portlet.filter.PortletRequestWrapper`

### getParameterMap

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

  Specified by:
    `getParameterMap` in interface `PortletRequest`
  Overrides:
    `getParameterMap` in class `javax.portlet.filter.PortletRequestWrapper`

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

### 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()`

### 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:
    `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:
    `initializeMultipart()`

### initializeMultipart

    protected void initializeMultipart()

  Lazily initialize the multipart request, if possible. Only called if not already eagerly initialized.