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

All Methods Instance Methods Abstract Methods
`java.util.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 Detail

#### 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,
                    java.io.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.
  `java.io.IOException` - Reading the file item failed.

#### next

    FileItemStream next()
                 throws FileUploadException,
                        java.io.IOException

Returns the next available `FileItemStream`.

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

#### getFileItems

    java.util.List<FileItem> getFileItems()
                                   throws FileUploadException,
                                          java.io.IOException

Throws:
  `FileUploadException`
  `java.io.IOException`