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

## Class AbstractMemoryHttpData

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

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

Direct Known Subclasses:
  MemoryAttribute, MemoryFileUpload

    public abstract class AbstractMemoryHttpData
    extends AbstractHttpData

Abstract Memory HttpData implementation

### Nested Class Summary

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

`InterfaceHttpData.HttpDataType`

### Field Summary

Fields
`protected boolean` `isRenamed`

### Fields inherited from class org.jboss.netty.handler.codec.http.multipart.AbstractHttpData

`charset, completed, definedSize, name, size`

### Constructor Summary

Constructors
Constructor and Description
`AbstractMemoryHttpData(String name, Charset charset, long size)`

### Method Summary

Methods
`void` `addContent(ChannelBuffer buffer, boolean last)` Add the content from the ChannelBuffer
`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()` Utility to go from a In Memory FileUpload to a Disk (or another implementation) FileUpload
`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()`
`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` `isInMemory()` Provides a hint as to whether or not the file contents will be read from memory.
`boolean` `renameTo(File dest)` A convenience method to write an uploaded item to disk.
`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)

### Methods inherited from class org.jboss.netty.handler.codec.http.multipart.AbstractHttpData

`getCharset, getName, isCompleted, length, setCharset`

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

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

### Methods inherited from interface org.jboss.netty.handler.codec.http.multipart.InterfaceHttpData

`getHttpDataType`

### Methods inherited from interface java.lang.Comparable

`compareTo`

### Field Detail

#### isRenamed

    protected boolean isRenamed

### Constructor Detail

#### AbstractMemoryHttpData

    public AbstractMemoryHttpData(String name,
                          Charset charset,
                          long size)

### Method Detail

#### setContent

    public void setContent(ChannelBuffer buffer)
                    throws IOException

Description copied from interface: `HttpData`
Set the content from the ChannelBuffer (erase any previous data)

Parameters:
  `buffer` - 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)

Parameters:
  `inputStream` - must be not null
Throws:
  `IOException`

#### addContent

    public void addContent(ChannelBuffer buffer,
                  boolean last)
                    throws IOException

Description copied from interface: `HttpData`
Add the content from the ChannelBuffer

Parameters:
  `buffer` - must be not null except if last is set to False
  `last` - True of the buffer is the last one
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)

Parameters:
  `file` - must be not null
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

    public byte[] get()

Description copied from interface: `HttpData`
Returns the contents of the file item as an array of bytes.

Returns:
  the contents of the file item as an array of bytes.

#### getString

    public String getString()

Description copied from interface: `HttpData`
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 default character encoding.

#### getString

    public String getString(Charset encoding)

Description copied from interface: `HttpData`
Returns the contents of the file item as a String, using the specified charset.

Parameters:
  `encoding` - the charset to use
Returns:
  the contents of the file item as a String, using the specified charset.

#### getChannelBuffer

    public ChannelBuffer getChannelBuffer()

Utility to go from a In Memory FileUpload to a Disk (or another implementation) FileUpload

Returns:
  the attached ChannelBuffer containing the actual bytes

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

Returns:
  a ChannelBuffer for the content from the current position or an EMPTY_BUFFER if there is no more data to return
Throws:
  `IOException`

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

Returns:
  True if the file contents is in memory.

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

Parameters:
  `dest` - destination file - must be not null
Returns:
  True if the write is successful
Throws:
  `IOException`

#### getFile

    public File getFile()
                 throws IOException

Returns:
  the associated File if this data is represented in a file
Throws:
  `IOException` - if this data is not represented by a file