Class BasicHttpEntity

  • All Implemented Interfaces:
    HttpEntity
    Direct Known Subclasses:
    ContentBufferEntity

    public class BasicHttpEntity
    extends AbstractHttpEntity
    A generic streamed, non-repeatable entity that obtains its content from an InputStream.
    Since:
    4.0
    • Constructor Detail

      • BasicHttpEntity

        public BasicHttpEntity()
        Creates a new basic entity. The content is initially missing, the content length is set to a negative number.
    • Method Detail

      • getContentLength

        public long getContentLength()
        Description copied from interface: HttpEntity
        Tells the length of the content, if known.
        Returns:
        the number of bytes of the content, or a negative number if unknown. If the content length is known but exceeds Long.MAX_VALUE, a negative number is returned.
      • getContent

        public java.io.InputStream getContent()
                                       throws java.lang.IllegalStateException
        Obtains the content, once only.
        Returns:
        the content, if this is the first call to this method since setContent has been called
        Throws:
        java.lang.IllegalStateException - if the content has not been provided
        See Also:
        HttpEntity.isRepeatable()
      • isRepeatable

        public boolean isRepeatable()
        Tells that this entity is not repeatable.
        Returns:
        false
      • setContentLength

        public void setContentLength​(long len)
        Specifies the length of the content.
        Parameters:
        len - the number of bytes in the content, or a negative number to indicate an unknown length
      • setContent

        public void setContent​(java.io.InputStream instream)
        Specifies the content.
        Parameters:
        instream - the stream to return with the next call to getContent
      • writeTo

        public void writeTo​(java.io.OutputStream outstream)
                     throws java.io.IOException
        Description copied from interface: HttpEntity
        Writes the entity content out to the output stream.

        IMPORTANT: Please note all entity implementations must ensure that all allocated resources are properly deallocated when this method returns.

        Parameters:
        outstream - the output stream to write entity content to
        Throws:
        java.io.IOException - if an I/O error occurs
      • isStreaming

        public boolean isStreaming()
        Description copied from interface: HttpEntity
        Tells whether this entity depends on an underlying stream. Streamed entities that read data directly from the socket should return true. Self-contained entities should return false. Wrapping entities should delegate this call to the wrapped entity.
        Returns:
        true if the entity content is streamed, false otherwise