org.jboss.netty.handler.codec.http2
Class MixedFileUpload

java.lang.Object
  extended by org.jboss.netty.handler.codec.http2.MixedFileUpload
All Implemented Interfaces:
Comparable<InterfaceHttpData>, FileUpload, HttpData, InterfaceHttpData

public class MixedFileUpload
extends Object
implements FileUpload

Mixed implementation using both in Memory and in File with a limit of size

Author:
The Netty Project, Andy Taylor (andy.taylor@jboss.org), Trustin Lee, Frederic Bregier

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.jboss.netty.handler.codec.http2.InterfaceHttpData
InterfaceHttpData.HttpDataType
 
Constructor Summary
MixedFileUpload(String name, String filename, String contentType, String contentTransferEncoding, Charset charset, long size, long limitSize)
           
 
Method Summary
 void addContent(org.jboss.netty.buffer.ChannelBuffer buffer, boolean last)
          Add the content from the ChannelBuffer
 int compareTo(InterfaceHttpData o)
           
 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.
 org.jboss.netty.buffer.ChannelBuffer getChannelBuffer()
          Returns the content of the file item as a ChannelBuffer
 Charset getCharset()
          Returns the Charset passed by the browser or null if not defined.
 org.jboss.netty.buffer.ChannelBuffer 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.
 String getContentTransferEncoding()
          Returns the Content-Transfer-Encoding
 String getContentType()
          Returns the content type passed by the browser or null if not defined.
 File getFile()
           
 String getFilename()
          Returns the original filename in the client's filesystem, as provided by the browser (or other client software).
 InterfaceHttpData.HttpDataType getHttpDataType()
           
 String getName()
          Returns the name of this InterfaceHttpData.
 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 isCompleted()
           
 boolean isInMemory()
          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 InterfaceHttpData
 boolean renameTo(File dest)
          A convenience method to write an uploaded item to disk.
 void setCharset(Charset charset)
          Set the Charset passed by the browser if defined
 void setContent(org.jboss.netty.buffer.ChannelBuffer 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)
 void setContentTransferEncoding(String contentTransferEncoding)
          Set the Content-Transfer-Encoding type from String as 7bit, 8bit or binary
 void setContentType(String contentType)
          Set the Content Type passed by the browser if defined
 void setFilename(String filename)
          Set the original filename
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

MixedFileUpload

public MixedFileUpload(String name,
                       String filename,
                       String contentType,
                       String contentTransferEncoding,
                       Charset charset,
                       long size,
                       long limitSize)
                throws NullPointerException,
                       IllegalArgumentException
Throws:
NullPointerException
IllegalArgumentException
Method Detail

addContent

public void addContent(org.jboss.netty.buffer.ChannelBuffer buffer,
                       boolean last)
                throws IOException
Description copied from interface: HttpData
Add the content from the ChannelBuffer

Specified by:
addContent in interface HttpData
Parameters:
buffer - must be not null except if last is set to False
last - 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.

Specified by:
delete in interface HttpData

get

public byte[] get()
           throws IOException
Description copied from interface: HttpData
Returns the contents of the file item as an array of bytes.

Specified by:
get in interface HttpData
Returns:
the contents of the file item as an array of bytes.
Throws:
IOException

getChannelBuffer

public org.jboss.netty.buffer.ChannelBuffer getChannelBuffer()
                                                      throws IOException
Description copied from interface: HttpData
Returns the content of the file item as a ChannelBuffer

Specified by:
getChannelBuffer in interface HttpData
Returns:
the content of the file item as a ChannelBuffer
Throws:
IOException

getCharset

public Charset getCharset()
Description copied from interface: HttpData
Returns the Charset passed by the browser or null if not defined.

Specified by:
getCharset in interface HttpData
Returns:
the Charset passed by the browser or null if not defined.

getContentType

public String getContentType()
Description copied from interface: FileUpload
Returns the content type passed by the browser or null if not defined.

Specified by:
getContentType in interface FileUpload
Returns:
the content type passed by the browser or null if not defined.

getContentTransferEncoding

public String getContentTransferEncoding()
Description copied from interface: FileUpload
Returns the Content-Transfer-Encoding

Specified by:
getContentTransferEncoding in interface FileUpload
Returns:
the Content-Transfer-Encoding

getFilename

public String getFilename()
Description copied from interface: FileUpload
Returns the original filename in the client's filesystem, as provided by the browser (or other client software).

Specified by:
getFilename in interface FileUpload
Returns:
the original filename

getString

public String getString()
                 throws IOException
Description copied from interface: HttpData
Returns the contents of the file item as a String, using the default character encoding.

Specified by:
getString in interface HttpData
Returns:
the contents of the file item as a String, using the default character encoding.
Throws:
IOException

getString

public String getString(Charset encoding)
                 throws IOException
Description copied from interface: HttpData
Returns the contents of the file item as a String, using the specified charset.

Specified by:
getString in interface HttpData
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 interface HttpData
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 interface HttpData
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

Specified by:
length in interface HttpData
Returns:
the size of the InterfaceHttpData

renameTo

public boolean renameTo(File dest)
                 throws IOException
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 interface HttpData
Parameters:
dest - destination file - must be not null
Returns:
True if the write is successful
Throws:
IOException

setCharset

public void setCharset(Charset charset)
Description copied from interface: HttpData
Set the Charset passed by the browser if defined

Specified by:
setCharset in interface HttpData
Parameters:
charset - Charset to set - must be not null

setContent

public void setContent(org.jboss.netty.buffer.ChannelBuffer buffer)
                throws IOException
Description copied from interface: HttpData
Set the content from the ChannelBuffer (erase any previous data)

Specified by:
setContent in interface HttpData
Parameters:
buffer - must be not null
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)

Specified by:
setContent in interface HttpData
Parameters:
file - 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)

Specified by:
setContent in interface HttpData
Parameters:
inputStream - must be not null
Throws:
IOException

setContentType

public void setContentType(String contentType)
Description copied from interface: FileUpload
Set the Content Type passed by the browser if defined

Specified by:
setContentType in interface FileUpload
Parameters:
contentType - Content Type to set - must be not null

setContentTransferEncoding

public void setContentTransferEncoding(String contentTransferEncoding)
Description copied from interface: FileUpload
Set the Content-Transfer-Encoding type from String as 7bit, 8bit or binary

Specified by:
setContentTransferEncoding in interface FileUpload

setFilename

public void setFilename(String filename)
Description copied from interface: FileUpload
Set the original filename

Specified by:
setFilename in interface FileUpload

getHttpDataType

public InterfaceHttpData.HttpDataType getHttpDataType()
Specified by:
getHttpDataType in interface InterfaceHttpData
Returns:
The HttpDataType

getName

public String getName()
Description copied from interface: InterfaceHttpData
Returns the name of this InterfaceHttpData.

Specified by:
getName in interface InterfaceHttpData

compareTo

public int compareTo(InterfaceHttpData o)
Specified by:
compareTo in interface Comparable<InterfaceHttpData>

toString

public String toString()
Overrides:
toString in class Object

getChunk

public org.jboss.netty.buffer.ChannelBuffer 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.

Specified by:
getChunk in interface HttpData
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

public File getFile()
             throws IOException
Specified by:
getFile in interface HttpData
Returns:
the associated File if this data is represented in a file
Throws:
IOException - if this data is not represented by a file


Copyright © 2009-2012 Frederic Bregier. All Rights Reserved.