Class AsyncCharConsumer<T>
- java.lang.Object
-
- org.apache.http.nio.protocol.AbstractAsyncResponseConsumer<T>
-
- org.apache.http.nio.client.methods.AsyncCharConsumer<T>
-
- All Implemented Interfaces:
java.io.Closeable
,java.lang.AutoCloseable
,org.apache.http.concurrent.Cancellable
,org.apache.http.nio.protocol.HttpAsyncResponseConsumer<T>
public abstract class AsyncCharConsumer<T> extends org.apache.http.nio.protocol.AbstractAsyncResponseConsumer<T>
HttpAsyncResponseConsumer
implementation that provides convenience methods for processing of textual content entities enclosed in an HTTP response.- Since:
- 4.0
-
-
Field Summary
Fields Modifier and Type Field Description private java.nio.ByteBuffer
bbuf
private java.nio.CharBuffer
cbuf
private java.nio.charset.CharsetDecoder
chardecoder
-
Constructor Summary
Constructors Constructor Description AsyncCharConsumer()
AsyncCharConsumer(int bufSize)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected java.nio.charset.CharsetDecoder
createDecoder(org.apache.http.entity.ContentType contentType)
Invoked to create a @{link CharsetDecoder} for contentType.private void
handleDecodingResult(java.nio.charset.CoderResult result, org.apache.http.nio.IOControl ioctrl)
protected abstract void
onCharReceived(java.nio.CharBuffer buf, org.apache.http.nio.IOControl ioctrl)
Invoked to process achunk
of content.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
releaseResources()
-
-
-
Method Detail
-
onCharReceived
protected abstract void onCharReceived(java.nio.CharBuffer buf, org.apache.http.nio.IOControl ioctrl) throws java.io.IOException
Invoked to process achunk
of content. TheIOControl
interface can be used to suspend input events if the consumer is temporarily unable to consume more content.- Parameters:
buf
- chunk of content.ioctrl
- I/O control of the underlying connection.- Throws:
java.io.IOException
- in case of an I/O error
-
createDecoder
protected java.nio.charset.CharsetDecoder createDecoder(org.apache.http.entity.ContentType contentType)
Invoked to create a @{link CharsetDecoder} for contentType. This allows to use different default charsets for different content types and set appropriate coding error actions.- Parameters:
contentType
- response Content-Type or null if not specified.- Returns:
- content decoder.
- Since:
- 4.1
-
onEntityEnclosed
protected final void onEntityEnclosed(org.apache.http.HttpEntity entity, org.apache.http.entity.ContentType contentType) throws java.io.IOException
- Specified by:
onEntityEnclosed
in classorg.apache.http.nio.protocol.AbstractAsyncResponseConsumer<T>
- Throws:
java.io.IOException
-
onContentReceived
protected final void onContentReceived(org.apache.http.nio.ContentDecoder decoder, org.apache.http.nio.IOControl ioctrl) throws java.io.IOException
- Specified by:
onContentReceived
in classorg.apache.http.nio.protocol.AbstractAsyncResponseConsumer<T>
- Throws:
java.io.IOException
-
handleDecodingResult
private void handleDecodingResult(java.nio.charset.CoderResult result, org.apache.http.nio.IOControl ioctrl) throws java.io.IOException
- Throws:
java.io.IOException
-
releaseResources
protected void releaseResources()
- Specified by:
releaseResources
in classorg.apache.http.nio.protocol.AbstractAsyncResponseConsumer<T>
-
-