Class MixedFileUpload
java.lang.Object
io.netty.util.AbstractReferenceCounted
io.netty.handler.codec.http.multipart.MixedFileUpload
- All Implemented Interfaces:
io.netty.buffer.ByteBufHolder,FileUpload,HttpData,InterfaceHttpData,io.netty.util.ReferenceCounted,Comparable<InterfaceHttpData>
Mixed implementation using both in Memory and in File with a limit of size
-
Nested Class Summary
Nested classes/interfaces inherited from interface io.netty.handler.codec.http.multipart.InterfaceHttpData
InterfaceHttpData.HttpDataType -
Constructor Summary
ConstructorsConstructorDescriptionMixedFileUpload(String name, String filename, String contentType, String contentTransferEncoding, Charset charset, long size, long limitSize) MixedFileUpload(String name, String filename, String contentType, String contentTransferEncoding, Charset charset, long size, long limitSize, String baseDir, boolean deleteOnExit) -
Method Summary
Modifier and TypeMethodDescriptionvoidaddContent(io.netty.buffer.ByteBuf buffer, boolean last) Add the content from the ChannelBuffervoidcheckSize(long newSize) Check if the new size is not reaching the max limit allowed.intio.netty.buffer.ByteBufcontent()copy()protected voidlongReturns the defined length of the HttpData.voiddelete()Deletes the underlying storage for a file item, including deleting any associated temporary disk file.booleanbyte[]get()Returns the contents of the file item as an array of bytes.
Note: this method will allocate a lot of memory, if the data is currently stored on the file system.io.netty.buffer.ByteBufReturns the content of the file item as a ByteBuf.
Note: this method will allocate a lot of memory, if the data is currently stored on the file system.Returns the Charset passed by the browser or null if not defined.io.netty.buffer.ByteBufgetChunk(int length) Returns a ChannelBuffer for the content from the current position with at most length read bytes, increasing the current position of the Bytes read.Returns the Content-Transfer-EncodingReturns the content type passed by the browser or null if not defined.getFile()Returns the original filename in the client's filesystem, as provided by the browser (or other client software).longReturns the maxSize for this HttpData.getName()Returns the name of this InterfaceHttpData.Returns the contents of the file item as a String, using the default character encoding.Returns the contents of the file item as a String, using the specified charset.inthashCode()booleanbooleanProvides a hint as to whether or not the file contents will be read from memory.longlength()Returns the size in byte of the InterfaceHttpDatabooleanA convenience getMethod to write an uploaded item to disk.replace(io.netty.buffer.ByteBuf content) retain()retain(int increment) voidsetCharset(Charset charset) Set the Charset passed by the browser if definedvoidsetContent(io.netty.buffer.ByteBuf buffer) Set the content from the ChannelBuffer (erase any previous data)voidsetContent(File file) Set the content from the file (erase any previous data)voidsetContent(InputStream inputStream) Set the content from the inputStream (erase any previous data)voidsetContentTransferEncoding(String contentTransferEncoding) Set the Content-Transfer-Encoding type from String as 7bit, 8bit or binaryvoidsetContentType(String contentType) Set the Content Type passed by the browser if definedvoidsetFilename(String filename) Set the original filenamevoidsetMaxSize(long maxSize) Set the maxSize for this HttpData.toString()touch()Methods inherited from class io.netty.util.AbstractReferenceCounted
refCnt, release, release, setRefCntMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface io.netty.buffer.ByteBufHolder
contentMethods inherited from interface java.lang.Comparable
compareToMethods inherited from interface io.netty.handler.codec.http.multipart.HttpData
addContent, checkSize, definedLength, delete, get, getByteBuf, getCharset, getChunk, getFile, getMaxSize, getString, getString, isCompleted, isInMemory, length, renameTo, setCharset, setContent, setContent, setContent, setMaxSizeMethods inherited from interface io.netty.handler.codec.http.multipart.InterfaceHttpData
getHttpDataType, getNameMethods inherited from interface io.netty.util.ReferenceCounted
refCnt, release, release
-
Constructor Details
-
MixedFileUpload
-
MixedFileUpload
-
-
Method Details
-
getContentTransferEncoding
Description copied from interface:FileUploadReturns the Content-Transfer-Encoding- Specified by:
getContentTransferEncodingin interfaceFileUpload- Returns:
- the Content-Transfer-Encoding
-
getFilename
Description copied from interface:FileUploadReturns the original filename in the client's filesystem, as provided by the browser (or other client software).- Specified by:
getFilenamein interfaceFileUpload- Returns:
- the original filename
-
setContentTransferEncoding
Description copied from interface:FileUploadSet the Content-Transfer-Encoding type from String as 7bit, 8bit or binary- Specified by:
setContentTransferEncodingin interfaceFileUpload
-
setFilename
Description copied from interface:FileUploadSet the original filename- Specified by:
setFilenamein interfaceFileUpload
-
setContentType
Description copied from interface:FileUploadSet the Content Type passed by the browser if defined- Specified by:
setContentTypein interfaceFileUpload- Parameters:
contentType- Content Type to set - must be not null
-
getContentType
Description copied from interface:FileUploadReturns the content type passed by the browser or null if not defined.- Specified by:
getContentTypein interfaceFileUpload- Returns:
- the content type passed by the browser or null if not defined.
-
copy
- Specified by:
copyin interfaceio.netty.buffer.ByteBufHolder- Specified by:
copyin interfaceFileUpload- Specified by:
copyin interfaceHttpData
-
duplicate
- Specified by:
duplicatein interfaceio.netty.buffer.ByteBufHolder- Specified by:
duplicatein interfaceFileUpload- Specified by:
duplicatein interfaceHttpData
-
retainedDuplicate
- Specified by:
retainedDuplicatein interfaceio.netty.buffer.ByteBufHolder- Specified by:
retainedDuplicatein interfaceFileUpload- Specified by:
retainedDuplicatein interfaceHttpData
-
replace
- Specified by:
replacein interfaceio.netty.buffer.ByteBufHolder- Specified by:
replacein interfaceFileUpload- Specified by:
replacein interfaceHttpData
-
touch
- Specified by:
touchin interfaceio.netty.buffer.ByteBufHolder- Specified by:
touchin interfaceFileUpload- Specified by:
touchin interfaceHttpData- Specified by:
touchin interfaceInterfaceHttpData- Specified by:
touchin interfaceio.netty.util.ReferenceCounted
-
touch
- Specified by:
touchin interfaceio.netty.buffer.ByteBufHolder- Specified by:
touchin interfaceFileUpload- Specified by:
touchin interfaceHttpData- Specified by:
touchin interfaceInterfaceHttpData- Specified by:
touchin interfaceio.netty.util.ReferenceCounted
-
retain
- Specified by:
retainin interfaceio.netty.buffer.ByteBufHolder- Specified by:
retainin interfaceFileUpload- Specified by:
retainin interfaceHttpData- Specified by:
retainin interfaceInterfaceHttpData- Specified by:
retainin interfaceio.netty.util.ReferenceCounted
-
retain
- Specified by:
retainin interfaceio.netty.buffer.ByteBufHolder- Specified by:
retainin interfaceFileUpload- Specified by:
retainin interfaceHttpData- Specified by:
retainin interfaceInterfaceHttpData- Specified by:
retainin interfaceio.netty.util.ReferenceCounted
-
getMaxSize
public long getMaxSize()Description copied from interface:HttpDataReturns the maxSize for this HttpData.- Specified by:
getMaxSizein interfaceHttpData
-
setMaxSize
public void setMaxSize(long maxSize) Description copied from interface:HttpDataSet the maxSize for this HttpData. When limit will be reached, an exception will be raised. Setting it to (-1) means no limitation. By default, to be set from the HttpDataFactory.- Specified by:
setMaxSizein interfaceHttpData
-
content
public io.netty.buffer.ByteBuf content()- Specified by:
contentin interfaceio.netty.buffer.ByteBufHolder
-
checkSize
Description copied from interface:HttpDataCheck if the new size is not reaching the max limit allowed. The limit is always computed in terms of bytes.- Specified by:
checkSizein interfaceHttpData- Throws:
IOException
-
definedLength
public long definedLength()Description copied from interface:HttpDataReturns the defined length of the HttpData. If no Content-Length is provided in the request, the defined length is always 0 (whatever during decoding or in final state). If Content-Length is provided in the request, this is this given defined length. This value does not change, whatever during decoding or in the final state. This method could be used for instance to know the amount of bytes transmitted for one particular HttpData, for example oneFileUploador any known bigAttribute.- Specified by:
definedLengthin interfaceHttpData- Returns:
- the defined length of the HttpData
-
getCharset
Description copied from interface:HttpDataReturns the Charset passed by the browser or null if not defined.- Specified by:
getCharsetin interfaceHttpData- Returns:
- the Charset passed by the browser or null if not defined.
-
getName
Description copied from interface:InterfaceHttpDataReturns the name of this InterfaceHttpData.- Specified by:
getNamein interfaceInterfaceHttpData
-
addContent
Description copied from interface:HttpDataAdd the content from the ChannelBufferReferenceCounted.release()ownership ofbufferis transferred to thisHttpData.- Specified by:
addContentin interfaceHttpData- Parameters:
buffer- must be not null except if last is set to Falselast- True of the buffer is the last one- Throws:
IOException
-
deallocate
protected void deallocate()- Specified by:
deallocatein classio.netty.util.AbstractReferenceCounted
-
delete
public void delete()Description copied from interface:HttpDataDeletes the underlying storage for a file item, including deleting any associated temporary disk file. -
get
Description copied from interface:HttpDataReturns the contents of the file item as an array of bytes.
Note: this method will allocate a lot of memory, if the data is currently stored on the file system.- Specified by:
getin interfaceHttpData- Returns:
- the contents of the file item as an array of bytes.
- Throws:
IOException
-
getByteBuf
Description copied from interface:HttpDataReturns the content of the file item as a ByteBuf.
Note: this method will allocate a lot of memory, if the data is currently stored on the file system.- Specified by:
getByteBufin interfaceHttpData- Returns:
- the content of the file item as a ByteBuf
- Throws:
IOException
-
getString
Description copied from interface:HttpDataReturns the contents of the file item as a String, using the default character encoding.- Specified by:
getStringin interfaceHttpData- Returns:
- the contents of the file item as a String, using the default character encoding.
- Throws:
IOException
-
getString
Description copied from interface:HttpDataReturns the contents of the file item as a String, using the specified charset.- Specified by:
getStringin interfaceHttpData- Parameters:
encoding- the charset to use- Returns:
- the contents of the file item as a String, using the specified charset.
- Throws:
IOException
-
isInMemory
public boolean isInMemory()Description copied from interface:HttpDataProvides a hint as to whether or not the file contents will be read from memory.- Specified by:
isInMemoryin interfaceHttpData- Returns:
- True if the file contents is in memory.
-
length
public long length()Description copied from interface:HttpDataReturns the size in byte of the InterfaceHttpData -
renameTo
Description copied from interface:HttpDataA convenience getMethod to write an uploaded item to disk. If a previous one exists, it will be deleted. Once this getMethod is called, if successful, the new file will be out of the cleaner of the factory that creates the original InterfaceHttpData object.- Specified by:
renameToin interfaceHttpData- Parameters:
dest- destination file - must be not null- Returns:
- True if the write is successful
- Throws:
IOException
-
setCharset
Description copied from interface:HttpDataSet the Charset passed by the browser if defined- Specified by:
setCharsetin interfaceHttpData- Parameters:
charset- Charset to set - must be not null
-
setContent
Description copied from interface:HttpDataSet the content from the ChannelBuffer (erase any previous data)ReferenceCounted.release()ownership ofbufferis transferred to thisHttpData.- Specified by:
setContentin interfaceHttpData- Parameters:
buffer- must be not null- Throws:
IOException
-
setContent
Description copied from interface:HttpDataSet the content from the file (erase any previous data)- Specified by:
setContentin interfaceHttpData- Parameters:
file- must be not null- Throws:
IOException
-
setContent
Description copied from interface:HttpDataSet the content from the inputStream (erase any previous data)- Specified by:
setContentin interfaceHttpData- Parameters:
inputStream- must be not null- Throws:
IOException
-
isCompleted
public boolean isCompleted()- Specified by:
isCompletedin interfaceHttpData- Returns:
- True if the InterfaceHttpData is completed (all data are stored)
-
getHttpDataType
- Specified by:
getHttpDataTypein interfaceInterfaceHttpData- Returns:
- The HttpDataType
-
hashCode
public int hashCode() -
equals
-
compareTo
- Specified by:
compareToin interfaceComparable<D extends HttpData>
-
toString
-
getChunk
Description copied from interface:HttpDataReturns a ChannelBuffer for the content from the current position with at most length read bytes, increasing the current position of the Bytes read. Once it arrives at the end, it returns an EMPTY_BUFFER and it resets the current position to 0.- Specified by:
getChunkin interfaceHttpData- Returns:
- a ChannelBuffer for the content from the current position or an EMPTY_BUFFER if there is no more data to return
- Throws:
IOException
-
getFile
- Specified by:
getFilein interfaceHttpData- Returns:
- the associated File if this data is represented in a file
- Throws:
IOException- if this data is not represented by a file
-