Class MixedAttribute
- java.lang.Object
-
- org.jboss.netty.handler.codec.http.multipart.MixedAttribute
-
- All Implemented Interfaces:
java.lang.Comparable<InterfaceHttpData>,Attribute,HttpData,InterfaceHttpData
public class MixedAttribute extends java.lang.Object implements Attribute
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
-
-
Constructor Summary
Constructors Constructor Description MixedAttribute(java.lang.String name, long limitSize)MixedAttribute(java.lang.String name, java.lang.String value, long limitSize)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddContent(ChannelBuffer buffer, boolean last)Add the content from the ChannelBuffervoidcheckSize(long newSize)Check if the new size is not reaching the max limit allowed.intcompareTo(InterfaceHttpData o)voiddelete()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.ChannelBuffergetChannelBuffer()Returns the content of the file item as a ChannelBufferjava.nio.charset.CharsetgetCharset()Returns the Charset passed by the browser or null if not defined.ChannelBuffergetChunk(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.java.io.FilegetFile()InterfaceHttpData.HttpDataTypegetHttpDataType()java.lang.StringgetName()Returns the name of this InterfaceHttpData.java.lang.StringgetString()Returns the contents of the file item as a String, using the default character encoding.java.lang.StringgetString(java.nio.charset.Charset encoding)Returns the contents of the file item as a String, using the specified charset.java.lang.StringgetValue()Returns the value of this HttpData.booleanisCompleted()booleanisInMemory()Provides a hint as to whether or not the file contents will be read from memory.longlength()Returns the size in byte of the InterfaceHttpDatabooleanrenameTo(java.io.File dest)A convenience method to write an uploaded item to disk.voidsetCharset(java.nio.charset.Charset charset)Set the Charset passed by the browser if definedvoidsetContent(java.io.File file)Set the content from the file (erase any previous data)voidsetContent(java.io.InputStream inputStream)Set the content from the inputStream (erase any previous data)voidsetContent(ChannelBuffer buffer)Set the content from the ChannelBuffer (erase any previous data)voidsetMaxSize(long maxSize)Set the maxSize for this HttpData.voidsetValue(java.lang.String value)Sets the value of this HttpData.java.lang.StringtoString()
-
-
-
Field Detail
-
attribute
private Attribute attribute
-
limitSize
private final long limitSize
-
maxSize
protected long maxSize
-
-
Method Detail
-
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
-
checkSize
public void checkSize(long newSize) throws java.io.IOExceptionDescription copied from interface:HttpDataCheck if the new size is not reaching the max limit allowed. The limit is always computed in term of bytes.
-
addContent
public void addContent(ChannelBuffer buffer, boolean last) throws java.io.IOException
Description copied from interface:HttpDataAdd the content from the ChannelBuffer- 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:
java.io.IOException
-
delete
public void delete()
Description copied from interface:HttpDataDeletes the underlying storage for a file item, including deleting any associated temporary disk file.
-
get
public byte[] get() throws java.io.IOExceptionDescription copied from interface:HttpDataReturns the contents of the file item as an array of bytes.
-
getChannelBuffer
public ChannelBuffer getChannelBuffer() throws java.io.IOException
Description copied from interface:HttpDataReturns the content of the file item as a ChannelBuffer- Specified by:
getChannelBufferin interfaceHttpData- Returns:
- the content of the file item as a ChannelBuffer
- Throws:
java.io.IOException
-
getCharset
public java.nio.charset.Charset 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.
-
getString
public java.lang.String getString() throws java.io.IOExceptionDescription copied from interface:HttpDataReturns the contents of the file item as a String, using the default character encoding.
-
getString
public java.lang.String getString(java.nio.charset.Charset encoding) throws java.io.IOExceptionDescription copied from interface:HttpDataReturns the contents of the file item as a String, using the specified charset.
-
isCompleted
public boolean isCompleted()
- Specified by:
isCompletedin interfaceHttpData- Returns:
- True if the InterfaceHttpData is completed (all data are stored)
-
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
public boolean renameTo(java.io.File dest) throws java.io.IOExceptionDescription copied from interface:HttpDataA 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.
-
setCharset
public void setCharset(java.nio.charset.Charset charset)
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
public void setContent(ChannelBuffer buffer) throws java.io.IOException
Description copied from interface:HttpDataSet the content from the ChannelBuffer (erase any previous data)- Specified by:
setContentin interfaceHttpData- Parameters:
buffer- must be not null- Throws:
java.io.IOException
-
setContent
public void setContent(java.io.File file) throws java.io.IOExceptionDescription copied from interface:HttpDataSet the content from the file (erase any previous data)- Specified by:
setContentin interfaceHttpData- Parameters:
file- must be not null- Throws:
java.io.IOException
-
setContent
public void setContent(java.io.InputStream inputStream) throws java.io.IOExceptionDescription copied from interface:HttpDataSet the content from the inputStream (erase any previous data)- Specified by:
setContentin interfaceHttpData- Parameters:
inputStream- must be not null- Throws:
java.io.IOException
-
getHttpDataType
public InterfaceHttpData.HttpDataType getHttpDataType()
- Specified by:
getHttpDataTypein interfaceInterfaceHttpData- Returns:
- The HttpDataType
-
getName
public java.lang.String getName()
Description copied from interface:InterfaceHttpDataReturns the name of this InterfaceHttpData.- Specified by:
getNamein interfaceInterfaceHttpData
-
compareTo
public int compareTo(InterfaceHttpData o)
- Specified by:
compareToin interfacejava.lang.Comparable<InterfaceHttpData>
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
getValue
public java.lang.String getValue() throws java.io.IOExceptionDescription copied from interface:AttributeReturns the value of this HttpData.
-
setValue
public void setValue(java.lang.String value) throws java.io.IOExceptionDescription copied from interface:AttributeSets the value of this HttpData.
-
getChunk
public ChannelBuffer getChunk(int length) throws java.io.IOException
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.
-
-