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

## Class MixedAttribute

- java.lang.Object
- - org.jboss.netty.handler.codec.http.multipart.MixedAttribute

All Implemented Interfaces:
  Comparable<InterfaceHttpData>, Attribute, HttpData, InterfaceHttpData

    public class MixedAttribute
    extends 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 and Description
`MixedAttribute(String name, long limitSize)`
`MixedAttribute(String name, String value, 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.
`File` `getFile()`
`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.
`String` `getValue()` Returns the value of this HttpData.
`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` `setValue(String value)` Sets the value of this HttpData.
`String` `toString()`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Constructor Detail

#### MixedAttribute

    public MixedAttribute(String name,
                  long limitSize)

#### MixedAttribute

    public MixedAttribute(String name,
                  String value,
                  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.

#### 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`

#### 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`

#### getValue

    public String getValue()
                    throws IOException

Description copied from interface: `Attribute`
Returns the value of this HttpData.

Specified by:
  `getValue` in interface `Attribute`
Throws:
  `IOException`

#### setValue

    public void setValue(String value)
                  throws IOException

Description copied from interface: `Attribute`
Sets the value of this HttpData.

Specified by:
  `setValue` in interface `Attribute`
Throws:
  `IOException`

#### 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