Class ZeroCopyConsumer<T>
- java.lang.Object
-
- org.apache.http.nio.protocol.AbstractAsyncResponseConsumer<T>
-
- org.apache.http.nio.client.methods.ZeroCopyConsumer<T>
-
- All Implemented Interfaces:
Closeable
,AutoCloseable
,org.apache.http.concurrent.Cancellable
,org.apache.http.nio.protocol.HttpAsyncResponseConsumer<T>
public abstract class ZeroCopyConsumer<T> extends org.apache.http.nio.protocol.AbstractAsyncResponseConsumer<T>
HttpAsyncResponseConsumer
implementation that streams content entity enclosed in an HTTP response directly into a file without an intermediate in-memory buffer.This consumer can be useful for file downloads.
- Since:
- 4.0
-
-
Constructor Summary
Constructors Constructor Description ZeroCopyConsumer(File file)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected T
buildResult(org.apache.http.protocol.HttpContext context)
protected void
onContentReceived(org.apache.http.nio.ContentDecoder decoder, org.apache.http.nio.IOControl ioctrl)
protected void
onEntityEnclosed(org.apache.http.HttpEntity entity, org.apache.http.entity.ContentType contentType)
protected void
onResponseReceived(org.apache.http.HttpResponse response)
protected abstract T
process(org.apache.http.HttpResponse response, File file, org.apache.http.entity.ContentType contentType)
Invoked to process received file.protected void
releaseResources()
-
-
-
Constructor Detail
-
ZeroCopyConsumer
public ZeroCopyConsumer(File file) throws FileNotFoundException
- Throws:
FileNotFoundException
-
-
Method Detail
-
onResponseReceived
protected void onResponseReceived(org.apache.http.HttpResponse response)
- Specified by:
onResponseReceived
in classorg.apache.http.nio.protocol.AbstractAsyncResponseConsumer<T>
-
onEntityEnclosed
protected void onEntityEnclosed(org.apache.http.HttpEntity entity, org.apache.http.entity.ContentType contentType) throws IOException
- Specified by:
onEntityEnclosed
in classorg.apache.http.nio.protocol.AbstractAsyncResponseConsumer<T>
- Throws:
IOException
-
onContentReceived
protected void onContentReceived(org.apache.http.nio.ContentDecoder decoder, org.apache.http.nio.IOControl ioctrl) throws IOException
- Specified by:
onContentReceived
in classorg.apache.http.nio.protocol.AbstractAsyncResponseConsumer<T>
- Throws:
IOException
-
process
protected abstract T process(org.apache.http.HttpResponse response, File file, org.apache.http.entity.ContentType contentType) throws Exception
Invoked to process received file.- Parameters:
response
- original response head.file
- file containing response content.contentType
- the cotnent type.- Returns:
- result of the response processing
- Throws:
Exception
-
releaseResources
protected void releaseResources()
- Specified by:
releaseResources
in classorg.apache.http.nio.protocol.AbstractAsyncResponseConsumer<T>
-
-