Class MixedAttribute
java.lang.Object
org.jboss.netty.handler.codec.http.multipart.MixedAttribute
- All Implemented Interfaces:
Comparable<InterfaceHttpData>
,Attribute
,HttpData
,InterfaceHttpData
Mixed implementation using both in Memory and in File with a limit of size
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.jboss.netty.handler.codec.http.multipart.InterfaceHttpData
InterfaceHttpData.HttpDataType
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionMixedAttribute
(String name, long limitSize) MixedAttribute
(String name, String value, long limitSize) -
Method Summary
Modifier and TypeMethodDescriptionvoid
addContent
(ChannelBuffer buffer, boolean last) Add the content from the ChannelBuffervoid
checkSize
(long newSize) Check if the new size is not reaching the max limit allowed.int
void
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.Returns the content of the file item as a ChannelBufferReturns the Charset passed by the browser or null if not defined.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.getFile()
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.getValue()
Returns the value of this HttpData.boolean
boolean
Provides a hint as to whether or not the file contents will be read from memory.long
length()
Returns the size in byte of the InterfaceHttpDataboolean
A convenience method to write an uploaded item to disk.void
setCharset
(Charset charset) Set the Charset passed by the browser if definedvoid
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)void
setContent
(ChannelBuffer buffer) Set the content from the ChannelBuffer (erase any previous data)void
setMaxSize
(long maxSize) Set the maxSize for this HttpData.void
Sets the value of this HttpData.toString()
-
Field Details
-
attribute
-
limitSize
private final long limitSize -
maxSize
protected long maxSize
-
-
Constructor Details
-
MixedAttribute
-
MixedAttribute
-
-
Method Details
-
setMaxSize
public void setMaxSize(long maxSize) Description copied from interface:HttpData
Set 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:
setMaxSize
in interfaceHttpData
-
checkSize
Description copied from interface:HttpData
Check if the new size is not reaching the max limit allowed. The limit is always computed in term of bytes.- Specified by:
checkSize
in interfaceHttpData
- Throws:
IOException
-
addContent
Description copied from interface:HttpData
Add the content from the ChannelBuffer- Specified by:
addContent
in interfaceHttpData
- Parameters:
buffer
- must be not null except if last is set to Falselast
- True of the buffer is the last one- 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
Description copied from interface:HttpData
Returns the contents of the file item as an array of bytes.- Specified by:
get
in interfaceHttpData
- Returns:
- the contents of the file item as an array of bytes.
- Throws:
IOException
-
getChannelBuffer
Description copied from interface:HttpData
Returns the content of the file item as a ChannelBuffer- Specified by:
getChannelBuffer
in interfaceHttpData
- Returns:
- the content of the file item as a ChannelBuffer
- Throws:
IOException
-
getCharset
Description copied from interface:HttpData
Returns the Charset passed by the browser or null if not defined.- Specified by:
getCharset
in interfaceHttpData
- Returns:
- the Charset passed by the browser or null if not defined.
-
getString
Description copied from interface:HttpData
Returns the contents of the file item as a String, using the default character encoding.- Specified by:
getString
in interfaceHttpData
- Returns:
- the contents of the file item as a String, using the default character encoding.
- Throws:
IOException
-
getString
Description copied from interface:HttpData
Returns the contents of the file item as a String, using the specified charset.- Specified by:
getString
in interfaceHttpData
- Parameters:
encoding
- the charset to use- Returns:
- the contents of the file item as a String, using the specified charset.
- Throws:
IOException
-
isCompleted
public boolean isCompleted()- Specified by:
isCompleted
in interfaceHttpData
- Returns:
- True if the InterfaceHttpData is completed (all data are stored)
-
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.- Specified by:
isInMemory
in interfaceHttpData
- Returns:
- True if the file contents is in memory.
-
length
public long length()Description copied from interface:HttpData
Returns the size in byte of the InterfaceHttpData -
renameTo
Description copied from interface:HttpData
A convenience method to write an uploaded item to disk. If a previous one exists, it will be deleted. Once this method is called, if successful, the new file will be out of the cleaner of the factory that creates the original InterfaceHttpData object.- Specified by:
renameTo
in interfaceHttpData
- Parameters:
dest
- destination file - must be not null- Returns:
- True if the write is successful
- Throws:
IOException
-
setCharset
Description copied from interface:HttpData
Set the Charset passed by the browser if defined- Specified by:
setCharset
in interfaceHttpData
- Parameters:
charset
- Charset to set - must be not null
-
setContent
Description copied from interface:HttpData
Set the content from the ChannelBuffer (erase any previous data)- Specified by:
setContent
in interfaceHttpData
- Parameters:
buffer
- must be not null- Throws:
IOException
-
setContent
Description copied from interface:HttpData
Set the content from the file (erase any previous data)- Specified by:
setContent
in interfaceHttpData
- Parameters:
file
- must be not null- Throws:
IOException
-
setContent
Description copied from interface:HttpData
Set the content from the inputStream (erase any previous data)- Specified by:
setContent
in interfaceHttpData
- Parameters:
inputStream
- must be not null- Throws:
IOException
-
getHttpDataType
- Specified by:
getHttpDataType
in interfaceInterfaceHttpData
- Returns:
- The HttpDataType
-
getName
Description copied from interface:InterfaceHttpData
Returns the name of this InterfaceHttpData.- Specified by:
getName
in interfaceInterfaceHttpData
-
compareTo
- Specified by:
compareTo
in interfaceComparable<InterfaceHttpData>
-
toString
-
getValue
Description copied from interface:Attribute
Returns the value of this HttpData.- Specified by:
getValue
in interfaceAttribute
- Throws:
IOException
-
setValue
Description copied from interface:Attribute
Sets the value of this HttpData.- Specified by:
setValue
in interfaceAttribute
- Throws:
IOException
-
getChunk
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.- Specified by:
getChunk
in 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:
getFile
in interfaceHttpData
- Returns:
- the associated File if this data is represented in a file
- Throws:
IOException
- if this data is not represented by a file
-