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
  • Field Details

    • fileUpload

      private FileUpload fileUpload
    • limitSize

      private final long limitSize
    • definedSize

      private final long definedSize
    • maxSize

      protected long maxSize
  • Constructor Details

    • MixedFileUpload

      public MixedFileUpload(String name, String filename, String contentType, String contentTransferEncoding, Charset charset, long size, long limitSize)
  • Method Details

    • setMaxSize

      public void setMaxSize(long maxSize)
      Description copied from interface: HttpData
      Set the maxSize for this HttpData. When limit will be reached, an exception will be raised. Setting it to (-1) means no limitation. By default, to be set from the HttpDataFactory.
      Specified by:
      setMaxSize in interface HttpData
      Parameters:
      maxSize -
    • checkSize

      public void checkSize(long newSize) throws IOException
      Description copied from interface: HttpData
      Check if the new size is not reaching the max limit allowed. The limit is always computed in term of bytes.
      Specified by:
      checkSize in interface HttpData
      Parameters:
      newSize -
      Throws:
      IOException
    • 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