org.jboss.netty.handler.codec.http.multipart

## Class MixedFileUpload

- java.lang.Object
- - org.jboss.netty.handler.codec.http.multipart.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

### Nested Class Summary

### Nested classes/interfaces inherited from interface org.jboss.netty.handler.codec.http.multipart.InterfaceHttpData

`InterfaceHttpData.HttpDataType`

### Constructor Summary

Constructors
Constructor and Description
`MixedFileUpload(String name, String filename, String contentType, String contentTransferEncoding, Charset charset, long size, long limitSize)`

### Method Summary

Methods
`void` `addContent(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.
`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.
`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(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)

### Method Detail

#### addContent

    public void addContent(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 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(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 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