Package org.apache.commons.fileupload2.core

# Interface FileItemInputIterator

All Superinterfaces:
  `org.apache.commons.io.function.IOIterator<FileItemInput>`

public interface FileItemInputIterator extends org.apache.commons.io.function.IOIterator<FileItemInput>
An iterator, as returned by `AbstractFileUpload.getItemIterator(RequestContext)`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `long`
  `getFileSizeMax()`
  Gets the maximum size of a single file.
  `long`
  `getSizeMax()`
  Gets the maximum size of the complete HTTP request.
  `boolean`
  `hasNext()`
  Tests whether another instance of `FileItemInput` is available.
  `FileItemInput`
  `next()`
  Returns the next available `FileItemInput`.
  `void`
  `setFileSizeMax(long fileSizeMax)`
  Sets the maximum size of a single file.
  `void`
  `setSizeMax(long sizeMax)`
  Sets the maximum size of the complete HTTP request.

  ### Methods inherited from interface org.apache.commons.io.function.IOIterator

  `asIterator, forEachRemaining, remove, unwrap`

- ## Method Details

  - ### getFileSizeMax

    long getFileSizeMax()
    Gets the maximum size of a single file. An `FileUploadByteCountLimitException` 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".

  - ### getSizeMax

    long getSizeMax()
    Gets 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".

  - ### hasNext

    boolean hasNext() throws IOException
    Tests whether another instance of `FileItemInput` is available.
    Specified by:
      `hasNext` in interface `org.apache.commons.io.function.IOIterator<FileItemInput>`
    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

    FileItemInput next() throws IOException
    Returns the next available `FileItemInput`.
    Specified by:
      `next` in interface `org.apache.commons.io.function.IOIterator<FileItemInput>`
    Returns:
      FileItemInput 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.

  - ### setFileSizeMax

    void setFileSizeMax(long fileSizeMax)
    Sets the maximum size of a single file. An `FileUploadByteCountLimitException` 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:
      `fileSizeMax` - The maximum size of a single, uploaded file. The value -1 indicates "unlimited".

  - ### setSizeMax

    void setSizeMax(long sizeMax)
    Sets 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:
      `sizeMax` - The maximum size of the complete HTTP request. The value -1 indicates "unlimited".