Class AbstractMemoryHttpData
- java.lang.Object
-
- io.netty.util.AbstractReferenceCounted
-
- io.netty.handler.codec.http.multipart.AbstractHttpData
-
- io.netty.handler.codec.http.multipart.AbstractMemoryHttpData
-
- All Implemented Interfaces:
io.netty.buffer.ByteBufHolder
,HttpData
,InterfaceHttpData
,io.netty.util.ReferenceCounted
,Comparable<InterfaceHttpData>
- Direct Known Subclasses:
MemoryAttribute
,MemoryFileUpload
public abstract class AbstractMemoryHttpData extends AbstractHttpData
Abstract Memory HttpData implementation
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface io.netty.handler.codec.http.multipart.InterfaceHttpData
InterfaceHttpData.HttpDataType
-
-
Field Summary
-
Fields inherited from class io.netty.handler.codec.http.multipart.AbstractHttpData
definedSize, size
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractMemoryHttpData(String name, Charset charset, long size)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addContent(io.netty.buffer.ByteBuf buffer, boolean last)
Add the content from the ChannelBuffervoid
delete()
Deletes the underlying storage for a file item, including deleting any associated temporary disk file.byte[]
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.ByteBuf
getByteBuf()
Utility to go from a In Memory FileUpload to a Disk (or another implementation) FileUploadio.netty.buffer.ByteBuf
getChunk(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.File
getFile()
String
getString()
Returns the contents of the file item as a String, using the default character encoding.String
getString(Charset encoding)
Returns the contents of the file item as a String, using the specified charset.boolean
isInMemory()
Provides a hint as to whether or not the file contents will be read from memory.boolean
renameTo(File dest)
A convenience getMethod to write an uploaded item to disk.void
setContent(io.netty.buffer.ByteBuf buffer)
Set the content from the ChannelBuffer (erase any previous data)void
setContent(File file)
Set the content from the file (erase any previous data)void
setContent(InputStream inputStream)
Set the content from the inputStream (erase any previous data)HttpData
touch()
HttpData
touch(Object hint)
-
Methods inherited from class io.netty.handler.codec.http.multipart.AbstractHttpData
checkSize, content, deallocate, definedLength, getCharset, getMaxSize, getName, isCompleted, length, retain, retain, setCharset, setCompleted, setCompleted, setMaxSize
-
Methods inherited from class io.netty.util.AbstractReferenceCounted
refCnt, release, release, setRefCnt
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface java.lang.Comparable
compareTo
-
Methods inherited from interface io.netty.handler.codec.http.multipart.HttpData
copy, duplicate, replace, retainedDuplicate
-
Methods inherited from interface io.netty.handler.codec.http.multipart.InterfaceHttpData
getHttpDataType
-
-
-
-
Method Detail
-
setContent
public void setContent(io.netty.buffer.ByteBuf buffer) throws IOException
Description copied from interface:HttpData
Set the content from the ChannelBuffer (erase any previous data)ReferenceCounted.release()
ownership ofbuffer
is transferred to thisHttpData
.- Parameters:
buffer
- must be not null- Throws:
IOException
-
setContent
public void setContent(InputStream inputStream) throws IOException
Description copied from interface:HttpData
Set the content from the inputStream (erase any previous data)- Parameters:
inputStream
- must be not null- Throws:
IOException
-
addContent
public void addContent(io.netty.buffer.ByteBuf buffer, boolean last) throws IOException
Description copied from interface:HttpData
Add the content from the ChannelBufferReferenceCounted.release()
ownership ofbuffer
is transferred to thisHttpData
.- Parameters:
buffer
- must be not null except if last is set to Falselast
- True of the buffer is the last one- Throws:
IOException
-
setContent
public void setContent(File file) throws IOException
Description copied from interface:HttpData
Set the content from the file (erase any previous data)- Parameters:
file
- must be not null- Throws:
IOException
-
delete
public void delete()
Description copied from interface:HttpData
Deletes the underlying storage for a file item, including deleting any associated temporary disk file.
-
get
public byte[] get()
Description copied from interface:HttpData
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.- Returns:
- the contents of the file item as an array of bytes.
-
getString
public String getString()
Description copied from interface:HttpData
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 default character encoding.
-
getString
public String getString(Charset encoding)
Description copied from interface:HttpData
Returns the contents of the file item as a String, using the specified charset.- Parameters:
encoding
- the charset to use- Returns:
- the contents of the file item as a String, using the specified charset.
-
getByteBuf
public io.netty.buffer.ByteBuf getByteBuf()
Utility to go from a In Memory FileUpload to a Disk (or another implementation) FileUpload- Returns:
- the attached ByteBuf containing the actual bytes
-
getChunk
public io.netty.buffer.ByteBuf getChunk(int length) throws IOException
Description copied from interface:HttpData
Returns 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.- Returns:
- a ChannelBuffer for the content from the current position or an EMPTY_BUFFER if there is no more data to return
- Throws:
IOException
-
isInMemory
public boolean isInMemory()
Description copied from interface:HttpData
Provides a hint as to whether or not the file contents will be read from memory.- Returns:
- True if the file contents is in memory.
-
renameTo
public boolean renameTo(File dest) throws IOException
Description copied from interface:HttpData
A 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.- Parameters:
dest
- destination file - must be not null- Returns:
- True if the write is successful
- Throws:
IOException
-
getFile
public File getFile() throws IOException
- Returns:
- the associated File if this data is represented in a file
- Throws:
IOException
- if this data is not represented by a file
-
touch
public HttpData touch()
- Specified by:
touch
in interfaceio.netty.buffer.ByteBufHolder
- Specified by:
touch
in interfaceHttpData
- Specified by:
touch
in interfaceInterfaceHttpData
- Specified by:
touch
in interfaceio.netty.util.ReferenceCounted
- Specified by:
touch
in classAbstractHttpData
-
touch
public HttpData touch(Object hint)
- Specified by:
touch
in interfaceio.netty.buffer.ByteBufHolder
- Specified by:
touch
in interfaceHttpData
- Specified by:
touch
in interfaceInterfaceHttpData
- Specified by:
touch
in interfaceio.netty.util.ReferenceCounted
- Specified by:
touch
in classAbstractHttpData
-
-