org.springframework.mock.web.portlet

## Class MockMultipartActionRequest

- java.lang.Object
- - org.springframework.mock.web.portlet.MockPortletRequest
  - - org.springframework.mock.web.portlet.MockClientDataRequest
    - - org.springframework.mock.web.portlet.MockActionRequest
      - - org.springframework.mock.web.portlet.MockMultipartActionRequest

- All Implemented Interfaces:
    ActionRequest, ClientDataRequest, PortletRequest, MultipartRequest, MultipartActionRequest

      public class MockMultipartActionRequest
      extends MockActionRequest
      implements MultipartActionRequest

  Mock implementation of the `MultipartActionRequest` 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, Arjen Poutsma
  See Also:
    `MockMultipartFile`

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface javax.portlet.PortletRequest

      `PortletRequest.P3PUserInfos`

  - ### Field Summary

    - ### Fields inherited from interface javax.portlet.ActionRequest

      `ACTION_NAME`

    - ### Fields inherited from interface javax.portlet.PortletRequest

      `ACTION_PHASE, ACTION_SCOPE_ID, BASIC_AUTH, CCPP_PROFILE, CLIENT_CERT_AUTH, DIGEST_AUTH, EVENT_PHASE, FORM_AUTH, LIFECYCLE_PHASE, RENDER_HEADERS, RENDER_MARKUP, RENDER_PART, RENDER_PHASE, RESOURCE_PHASE, USER_INFO`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `MockMultipartActionRequest()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `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.

    - ### Methods inherited from class org.springframework.mock.web.portlet.MockActionRequest

      `getLifecyclePhase`

    - ### Methods inherited from class org.springframework.mock.web.portlet.MockClientDataRequest

      `getCharacterEncoding, getContentLength, getContentType, getMethod, getPortletInputStream, getReader, setCharacterEncoding, setContent, setContentType, setMethod`

    - ### Methods inherited from class org.springframework.mock.web.portlet.MockPortletRequest

      `addLocale, addParameter, addParameter, addPreferredLocale, addPreferredResponseContentType, addProperty, addResponseContentType, addUserRole, checkActive, close, getAttribute, getAttributeNames, getAuthType, getContextPath, getCookies, getLocale, getLocales, getParameter, getParameterMap, getParameterNames, getParameterValues, getPortalContext, getPortletMode, getPortletSession, getPortletSession, getPreferences, getPrivateParameterMap, getProperties, getProperty, getPropertyNames, getPublicParameterMap, getRemoteUser, getRequestedSessionId, getResponseContentType, getResponseContentTypes, getScheme, getServerName, getServerPort, getUserPrincipal, getWindowID, getWindowState, isActive, isPortletModeAllowed, isRequestedSessionIdValid, isSecure, isUserInRole, isWindowStateAllowed, registerPublicParameter, removeAttribute, setAttribute, setAuthType, setContextPath, setCookies, setParameter, setParameter, setParameters, setPortletMode, setPreferences, setProperty, setRemoteUser, setRequestedSessionIdValid, setScheme, setSecure, setServerName, setServerPort, setSession, setUserPrincipal, setWindowID, setWindowState`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface javax.portlet.ClientDataRequest

      `getCharacterEncoding, getContentLength, getContentType, getMethod, getPortletInputStream, getReader, setCharacterEncoding`

    - ### Methods inherited from interface javax.portlet.PortletRequest

      `getAttribute, getAttributeNames, getAuthType, getContextPath, getCookies, getLocale, getLocales, getParameter, getParameterMap, getParameterNames, getParameterValues, 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`

- - ### Constructor Detail

    - #### MockMultipartActionRequest

          public MockMultipartActionRequest()

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