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