org.apache.http.entity
Class BasicHttpEntity

java.lang.Object
  extended by org.apache.http.entity.AbstractHttpEntity
      extended by org.apache.http.entity.BasicHttpEntity
All Implemented Interfaces:
HttpEntity

@NotThreadSafe
public class BasicHttpEntity
extends AbstractHttpEntity

A generic streamed, non-repeatable entity that obtains its content from an InputStream.

Since:
4.0

Field Summary
 
Fields inherited from class org.apache.http.entity.AbstractHttpEntity
chunked, contentEncoding, contentType, OUTPUT_BUFFER_SIZE
 
Constructor Summary
BasicHttpEntity()
          Creates a new basic entity.
 
Method Summary
 InputStream getContent()
          Obtains the content, once only.
 long getContentLength()
          Tells the length of the content, if known.
 boolean isRepeatable()
          Tells that this entity is not repeatable.
 boolean isStreaming()
          Tells whether this entity depends on an underlying stream.
 void setContent(InputStream instream)
          Specifies the content.
 void setContentLength(long len)
          Specifies the length of the content.
 void writeTo(OutputStream outstream)
          Writes the entity content out to the output stream.
 
Methods inherited from class org.apache.http.entity.AbstractHttpEntity
consumeContent, getContentEncoding, getContentType, isChunked, setChunked, setContentEncoding, setContentEncoding, setContentType, setContentType, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

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 InputStream getContent()
                       throws IllegalStateException
Obtains the content, once only.

Returns:
the content, if this is the first call to this method since setContent has been called
Throws:
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(InputStream instream)
Specifies the content.

Parameters:
instream - the stream to return with the next call to getContent

writeTo

public void writeTo(OutputStream outstream)
             throws 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:
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


Copyright © 2005–2015 The Apache Software Foundation. All rights reserved.