Class FileItemIteratorImpl
- java.lang.Object
-
- org.apache.tomcat.util.http.fileupload.impl.FileItemIteratorImpl
-
- All Implemented Interfaces:
FileItemIterator
public class FileItemIteratorImpl extends java.lang.Object implements FileItemIterator
The iterator, which is returned byFileUploadBase.getItemIterator(RequestContext)
.
-
-
Constructor Summary
Constructors Constructor Description FileItemIteratorImpl(FileUploadBase fileUploadBase, RequestContext requestContext)
Creates a new instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.List<FileItem>
getFileItems()
long
getFileSizeMax()
Returns the maximum size of a single file.MultipartStream
getMultiPartStream()
long
getSizeMax()
Returns the maximum size of the complete HTTP request.boolean
hasNext()
Returns, whether another instance ofFileItemStream
is available.protected void
init(FileUploadBase fileUploadBase, RequestContext pRequestContext)
FileItemStream
next()
Returns the next availableFileItemStream
.void
setFileSizeMax(long fileSizeMax)
Sets the maximum size of a single file.void
setSizeMax(long sizeMax)
Returns the maximum size of the complete HTTP request.
-
-
-
Constructor Detail
-
FileItemIteratorImpl
public FileItemIteratorImpl(FileUploadBase fileUploadBase, RequestContext requestContext) throws FileUploadException, java.io.IOException
Creates a new instance.- Parameters:
fileUploadBase
- Main processor.requestContext
- The request context.- Throws:
FileUploadException
- An error occurred while parsing the request.java.io.IOException
- An I/O error occurred.
-
-
Method Detail
-
getSizeMax
public long getSizeMax()
Description copied from interface:FileItemIterator
Returns the maximum size of the complete HTTP request. ASizeLimitExceededException
will be thrown, if the HTTP request will exceed this value. By default, this value will be copied from theFileUploadBase
object, however, the user may replace the default value with a request specific value by invokingFileItemIterator.setSizeMax(long)
on this object.- Specified by:
getSizeMax
in interfaceFileItemIterator
- Returns:
- The maximum size of the complete HTTP request. The value -1 indicates "unlimited".
-
setSizeMax
public void setSizeMax(long sizeMax)
Description copied from interface:FileItemIterator
Returns the maximum size of the complete HTTP request. ASizeLimitExceededException
will be thrown, if the HTTP request will exceed this value. By default, this value will be copied from theFileUploadBase
object, however, the user may replace the default value with a request specific value by invokingFileItemIterator.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 methodsFileItemIterator.hasNext()
,FileItemIterator.next()
have not yet been invoked.- Specified by:
setSizeMax
in interfaceFileItemIterator
- Parameters:
sizeMax
- The maximum size of the complete HTTP request. The value -1 indicates "unlimited".
-
getFileSizeMax
public long getFileSizeMax()
Description copied from interface:FileItemIterator
Returns the maximum size of a single file. AnFileSizeLimitExceededException
will be thrown, if there is an uploaded file, which is exceeding this value. By default, this value will be copied from theFileUploadBase
object, however, the user may replace the default value with a request specific value by invokingFileItemIterator.setFileSizeMax(long)
on this object.- Specified by:
getFileSizeMax
in interfaceFileItemIterator
- Returns:
- The maximum size of a single, uploaded file. The value -1 indicates "unlimited".
-
setFileSizeMax
public void setFileSizeMax(long fileSizeMax)
Description copied from interface:FileItemIterator
Sets the maximum size of a single file. AnFileSizeLimitExceededException
will be thrown, if there is an uploaded file, which is exceeding this value. By default, this value will be copied from theFileUploadBase
object, however, the user may replace the default value with a request specific value by invokingFileItemIterator.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.- Specified by:
setFileSizeMax
in interfaceFileItemIterator
- Parameters:
fileSizeMax
- The maximum size of a single, uploaded file. The value -1 indicates "unlimited".
-
init
protected void init(FileUploadBase fileUploadBase, RequestContext pRequestContext) throws FileUploadException, java.io.IOException
- Throws:
FileUploadException
java.io.IOException
-
getMultiPartStream
public MultipartStream getMultiPartStream() throws FileUploadException, java.io.IOException
- Throws:
FileUploadException
java.io.IOException
-
hasNext
public boolean hasNext() throws FileUploadException, java.io.IOException
Returns, whether another instance ofFileItemStream
is available.- Specified by:
hasNext
in interfaceFileItemIterator
- 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
public FileItemStream next() throws FileUploadException, java.io.IOException
Returns the next availableFileItemStream
.- Specified by:
next
in interfaceFileItemIterator
- Returns:
- FileItemStream instance, which provides access to the next file item.
- Throws:
java.util.NoSuchElementException
- No more items are available. UsehasNext()
to prevent this exception.FileUploadException
- Parsing or processing the file item failed.java.io.IOException
- Reading the file item failed.
-
getFileItems
public java.util.List<FileItem> getFileItems() throws FileUploadException, java.io.IOException
- Specified by:
getFileItems
in interfaceFileItemIterator
- Throws:
FileUploadException
java.io.IOException
-
-