Class AbstractMemoryHttpData

    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected AbstractMemoryHttpData​(java.lang.String name, java.nio.charset.Charset charset, long size)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addContent​(ByteBuf 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.
      Note: this method will allocate a lot of memory, if the data is currently stored on the file system.
      ByteBuf getByteBuf()
      Utility to go from a In Memory FileUpload to a Disk (or another implementation) FileUpload
      ByteBuf 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.
      java.io.File getFile()  
      java.lang.String getString()
      Returns the contents of the file item as a String, using the default character encoding.
      java.lang.String getString​(java.nio.charset.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​(java.io.File dest)
      A convenience getMethod to write an uploaded item to disk.
      void setContent​(ByteBuf buffer)
      Set the content from the ChannelBuffer (erase any previous data)
      void setContent​(java.io.File file)
      Set the content from the file (erase any previous data)
      void setContent​(java.io.InputStream inputStream)
      Set the content from the inputStream (erase any previous data)
      HttpData touch()
      Records the current access location of this object for debugging purposes.
      HttpData touch​(java.lang.Object hint)
      Records the current access location of this object with an additional arbitrary information for debugging purposes.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface java.lang.Comparable

        compareTo
    • Constructor Detail

      • AbstractMemoryHttpData

        protected AbstractMemoryHttpData​(java.lang.String name,
                                         java.nio.charset.Charset charset,
                                         long size)
    • Method Detail

      • setContent

        public void setContent​(ByteBuf buffer)
                        throws java.io.IOException
        Description copied from interface: HttpData
        Set the content from the ChannelBuffer (erase any previous data)

        ReferenceCounted.release() ownership of buffer is transferred to this HttpData.

        Parameters:
        buffer - must be not null
        Throws:
        java.io.IOException
      • setContent

        public void setContent​(java.io.InputStream inputStream)
                        throws java.io.IOException
        Description copied from interface: HttpData
        Set the content from the inputStream (erase any previous data)
        Parameters:
        inputStream - must be not null
        Throws:
        java.io.IOException
      • addContent

        public void addContent​(ByteBuf buffer,
                               boolean last)
                        throws java.io.IOException
        Description copied from interface: HttpData
        Add the content from the ChannelBuffer

        ReferenceCounted.release() ownership of buffer is transferred to this HttpData.

        Parameters:
        buffer - must be not null except if last is set to False
        last - True of the buffer is the last one
        Throws:
        java.io.IOException
      • setContent

        public void setContent​(java.io.File file)
                        throws java.io.IOException
        Description copied from interface: HttpData
        Set the content from the file (erase any previous data)
        Parameters:
        file - must be not null
        Throws:
        java.io.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.
        Note: this method will allocate a lot of memory, if the data is currently stored on the file system.
        Returns:
        the contents of the file item as an array of bytes.
      • getString

        public java.lang.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 java.lang.String getString​(java.nio.charset.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.
      • getByteBuf

        public ByteBuf getByteBuf()
        Utility to go from a In Memory FileUpload to a Disk (or another implementation) FileUpload
        Returns:
        the attached ByteBuf containing the actual bytes
      • getChunk

        public ByteBuf getChunk​(int length)
                         throws java.io.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:
        java.io.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​(java.io.File dest)
                         throws java.io.IOException
        Description copied from interface: HttpData
        A convenience getMethod to write an uploaded item to disk. If a previous one exists, it will be deleted. Once this getMethod 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:
        java.io.IOException
      • getFile

        public java.io.File getFile()
                             throws java.io.IOException
        Returns:
        the associated File if this data is represented in a file
        Throws:
        java.io.IOException - if this data is not represented by a file