Package org.apache.tomcat.util.http.fileupload

# Interface FileItemIterator

All Known Implementing Classes:
  `FileItemIteratorImpl`

public interface FileItemIterator
An iterator, as returned by `FileUploadBase.getItemIterator(RequestContext)`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `List<FileItem>`
  `getFileItems()`
  `long`
  `getFileSizeMax()`
  Returns the maximum size of a single file.
  `long`
  `getSizeMax()`
  Returns the maximum size of the complete HTTP request.
  `boolean`
  `hasNext()`
  Returns, whether another instance of `FileItemStream` is available.
  `FileItemStream`
  `next()`
  Returns the next available `FileItemStream`.
  `void`
  `setFileSizeMax(long pFileSizeMax)`
  Sets the maximum size of a single file.
  `void`
  `setSizeMax(long pSizeMax)`
  Returns the maximum size of the complete HTTP request.

- ## Method Details

  - ### getFileSizeMax

    long getFileSizeMax()
    Returns the maximum size of a single file. An `FileSizeLimitExceededException` will be thrown, if there is an uploaded file, which is exceeding this value. By default, this value will be copied from the `FileUploadBase` object, however, the user may replace the default value with a request specific value by invoking `setFileSizeMax(long)` on this object.
    Returns:
      The maximum size of a single, uploaded file. The value -1 indicates "unlimited".

  - ### setFileSizeMax

    void setFileSizeMax(long pFileSizeMax)
    Sets the maximum size of a single file. An `FileSizeLimitExceededException` will be thrown, if there is an uploaded file, which is exceeding this value. By default, this value will be copied from the `FileUploadBase` object, however, the user may replace the default value with a request specific value by invoking `setFileSizeMax(long)` on this object, so there is no need to configure it here. Note:Changing this value doesn't affect files, that have already been uploaded.
    Parameters:
      `pFileSizeMax` - The maximum size of a single, uploaded file. The value -1 indicates "unlimited".

  - ### getSizeMax

    long getSizeMax()
    Returns the maximum size of the complete HTTP request. A `SizeLimitExceededException` will be thrown, if the HTTP request will exceed this value. By default, this value will be copied from the `FileUploadBase` object, however, the user may replace the default value with a request specific value by invoking `setSizeMax(long)` on this object.
    Returns:
      The maximum size of the complete HTTP request. The value -1 indicates "unlimited".

  - ### setSizeMax

    void setSizeMax(long pSizeMax)
    Returns the maximum size of the complete HTTP request. A `SizeLimitExceededException` will be thrown, if the HTTP request will exceed this value. By default, this value will be copied from the `FileUploadBase` object, however, the user may replace the default value with a request specific value by invoking `setSizeMax(long)` on this object. Note: Setting the maximum size on this object will work only, if the iterator is not yet initialized. In other words: If the methods `hasNext()`, `next()` have not yet been invoked.
    Parameters:
      `pSizeMax` - The maximum size of the complete HTTP request. The value -1 indicates "unlimited".

  - ### hasNext

    boolean hasNext() throws FileUploadException, IOException
    Returns, whether another instance of `FileItemStream` is available.
    Returns:
      True, if one or more additional file items are available, otherwise false.
    Throws:
      `FileUploadException` - Parsing or processing the file item failed.
      `IOException` - Reading the file item failed.

  - ### next

    FileItemStream next() throws FileUploadException, IOException
    Returns the next available `FileItemStream`.
    Returns:
      FileItemStream instance, which provides access to the next file item.
    Throws:
      `NoSuchElementException` - No more items are available. Use `hasNext()` to prevent this exception.
      `FileUploadException` - Parsing or processing the file item failed.
      `IOException` - Reading the file item failed.

  - ### getFileItems

    List<FileItem> getFileItems() throws FileUploadException, IOException
    Throws:
      `FileUploadException`
      `IOException`