Class AbstractDiskHttpData

java.lang.Object
org.jboss.netty.handler.codec.http.multipart.AbstractHttpData
org.jboss.netty.handler.codec.http.multipart.AbstractDiskHttpData
All Implemented Interfaces:
Comparable<InterfaceHttpData>, HttpData, InterfaceHttpData
Direct Known Subclasses:
DiskAttribute, DiskFileUpload

public abstract class AbstractDiskHttpData extends AbstractHttpData
Abstract Disk HttpData implementation
  • Field Details

    • logger

      private static final InternalLogger logger
    • file

      protected File file
    • isRenamed

      private boolean isRenamed
    • fileChannel

      private FileChannel fileChannel
  • Constructor Details

    • AbstractDiskHttpData

      protected AbstractDiskHttpData(String name, Charset charset, long size)
  • Method Details

    • getDiskFilename

      protected abstract String getDiskFilename()
      Returns:
      the real DiskFilename (basename)
    • getPrefix

      protected abstract String getPrefix()
      Returns:
      the default prefix
    • getBaseDirectory

      protected abstract String getBaseDirectory()
      Returns:
      the default base Directory
    • getPostfix

      protected abstract String getPostfix()
      Returns:
      the default postfix
    • deleteOnExit

      protected abstract boolean deleteOnExit()
      Returns:
      True if the file should be deleted on Exit by default
    • tempFile

      private File tempFile() throws IOException
      Returns:
      a new Temp File from getDiskFilename(), default prefix, postfix and baseDirectory
      Throws:
      IOException
    • 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
    • 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
    • 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
    • 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() throws IOException
      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.
      Throws:
      IOException
    • getChannelBuffer

      public ChannelBuffer getChannelBuffer() throws IOException
      Description copied from interface: HttpData
      Returns the content of the file item as a ChannelBuffer
      Returns:
      the content of the file item as a ChannelBuffer
      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.
      Returns:
      a ChannelBuffer for the content from the current position or an EMPTY_BUFFER if there is no more data to return
      Throws:
      IOException
    • 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.
      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.
      Parameters:
      encoding - the charset to use
      Returns:
      the contents of the file item as a String, using the specified charset.
      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
    • readFrom

      private static byte[] readFrom(File src) throws IOException
      Utility function
      Returns:
      the array of bytes
      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