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()Returns all file items by iterating through the entire request.longgetFileSizeMax()Returns the maximum size of a single file.MultipartStreamgetMultiPartStream()Returns the underlying MultipartStream, initializing it if necessary.longgetSizeMax()Returns the maximum size of the complete HTTP request.booleanhasNext()Returns, whether another instance ofFileItemStreamis available.protected voidinit(FileUploadBase fileUploadBase, RequestContext pRequestContext)Initializes the multipart stream for processing the request.FileItemStreamnext()Returns the next availableFileItemStream.voidsetFileSizeMax(long fileSizeMax)Sets the maximum size of a single file.voidsetSizeMax(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:FileItemIteratorReturns the maximum size of the complete HTTP request. ASizeLimitExceededExceptionwill be thrown, if the HTTP request will exceed this value. By default, this value will be copied from theFileUploadBaseobject, however, the user may replace the default value with a request specific value by invokingFileItemIterator.setSizeMax(long)on this object.- Specified by:
getSizeMaxin 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:FileItemIteratorReturns the maximum size of the complete HTTP request. ASizeLimitExceededExceptionwill be thrown, if the HTTP request will exceed this value. By default, this value will be copied from theFileUploadBaseobject, 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:
setSizeMaxin interfaceFileItemIterator- Parameters:
sizeMax- The maximum size of the complete HTTP request. The value -1 indicates "unlimited".
-
getFileSizeMax
public long getFileSizeMax()
Description copied from interface:FileItemIteratorReturns the maximum size of a single file. AnFileSizeLimitExceededExceptionwill be thrown, if there is an uploaded file, which is exceeding this value. By default, this value will be copied from theFileUploadBaseobject, however, the user may replace the default value with a request specific value by invokingFileItemIterator.setFileSizeMax(long)on this object.- Specified by:
getFileSizeMaxin 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:FileItemIteratorSets the maximum size of a single file. AnFileSizeLimitExceededExceptionwill be thrown, if there is an uploaded file, which is exceeding this value. By default, this value will be copied from theFileUploadBaseobject, 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:
setFileSizeMaxin 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
Initializes the multipart stream for processing the request.- Parameters:
fileUploadBase- The file upload base configurationpRequestContext- The request context - unused- Throws:
FileUploadException- If the request content type is invalid or size exceeds limitsjava.io.IOException- If an I/O error occurs
-
getMultiPartStream
public MultipartStream getMultiPartStream() throws FileUploadException, java.io.IOException
Returns the underlying MultipartStream, initializing it if necessary.- Returns:
- The MultipartStream for this iterator
- Throws:
FileUploadException- If the request content type is invalid or size exceeds limitsjava.io.IOException- If an I/O error occurs
-
hasNext
public boolean hasNext() throws FileUploadException, java.io.IOExceptionReturns, whether another instance ofFileItemStreamis available.- Specified by:
hasNextin 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:
nextin 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
Description copied from interface:FileItemIteratorReturns all file items by iterating through the entire request.- Specified by:
getFileItemsin interfaceFileItemIterator- Returns:
- The list of all file items
- Throws:
FileUploadException- Parsing or processing the file item failedjava.io.IOException- Reading the file item failed
-
-