Package org.apache.http.entity
Class BufferedHttpEntity
java.lang.Object
org.apache.http.entity.HttpEntityWrapper
org.apache.http.entity.BufferedHttpEntity
- All Implemented Interfaces:
HttpEntity
public class BufferedHttpEntity extends HttpEntityWrapper
A wrapping entity that buffers it content if necessary.
The buffered entity is always repeatable.
If the wrapped entity is repeatable itself, calls are passed through.
If the wrapped entity is not repeatable, the content is read into a
buffer once and provided from there as often as required.
- Since:
- 4.0
- Version:
- $Revision: 496070 $
- Author:
- Oleg Kalnichevski
-
Field Summary
Fields inherited from class org.apache.http.entity.HttpEntityWrapper
wrappedEntity -
Constructor Summary
Constructors Constructor Description BufferedHttpEntity(HttpEntity entity) -
Method Summary
Modifier and Type Method Description InputStreamgetContent()Creates a new InputStream object of the entity.longgetContentLength()Tells the length of the content, if known.booleanisChunked()Tells that this entity does not have to be chunked.booleanisRepeatable()Tells that this entity is repeatable.booleanisStreaming()Tells whether this entity depends on an underlying stream.voidwriteTo(OutputStream outstream)Writes the entity content to the output stream.Methods inherited from class org.apache.http.entity.HttpEntityWrapper
consumeContent, getContentEncoding, getContentType
-
Constructor Details
-
BufferedHttpEntity
- Throws:
IOException
-
-
Method Details
-
getContentLength
public long getContentLength()Description copied from interface:HttpEntityTells the length of the content, if known.- Specified by:
getContentLengthin interfaceHttpEntity- Overrides:
getContentLengthin classHttpEntityWrapper- 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
Description copied from interface:HttpEntityCreates a new InputStream object of the entity. It is a programming error to return the same InputStream object more than once. Entities that are notrepeatablewill throw an exception if this method is called multiple times.- Specified by:
getContentin interfaceHttpEntity- Overrides:
getContentin classHttpEntityWrapper- Returns:
- a new input stream that returns the entity data.
- Throws:
IOException- if the stream could not be created
-
isChunked
public boolean isChunked()Tells that this entity does not have to be chunked.- Specified by:
isChunkedin interfaceHttpEntity- Overrides:
isChunkedin classHttpEntityWrapper- Returns:
false
-
isRepeatable
public boolean isRepeatable()Tells that this entity is repeatable.- Specified by:
isRepeatablein interfaceHttpEntity- Overrides:
isRepeatablein classHttpEntityWrapper- Returns:
true
-
writeTo
Description copied from interface:HttpEntityWrites the entity content to the output stream.- Specified by:
writeToin interfaceHttpEntity- Overrides:
writeToin classHttpEntityWrapper- 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:HttpEntityTells whether this entity depends on an underlying stream. Streamed entities should returntrueuntil the content has been consumed,falseafterwards. Self-contained entities should returnfalse. Wrapping entities should delegate this call to the wrapped entity.
The content of a streamed entity is consumed when the stream returned bygetContenthas been read to EOF, or afterconsumeContenthas been called. If a streamed entity can not detect whether the stream has been read to EOF, it should returntrueuntilconsumeContentis called.- Specified by:
isStreamingin interfaceHttpEntity- Overrides:
isStreamingin classHttpEntityWrapper- Returns:
trueif the entity content is streamed and not yet consumed,falseotherwise
-