public abstract class AbstractClassicEntityProducer extends Object implements AsyncEntityProducer
AsyncEntityProducer implementation that acts as a compatibility
layer for classic OutputStream based interfaces. Blocking output
processing is executed through an Executor.| 构造器和说明 |
|---|
AbstractClassicEntityProducer(int initialBufferSize,
ContentType contentType,
Executor executor) |
| 限定符和类型 | 方法和说明 |
|---|---|
int |
available()
Returns the number of bytes immediately available for output.
|
void |
failed(Exception cause)
Triggered to signal a failure in data generation.
|
String |
getContentEncoding()
Returns content encoding of the entity, if known.
|
long |
getContentLength()
Returns length of the entity, if known.
|
String |
getContentType()
Returns content type of the entity, if known.
|
Exception |
getException() |
Set<String> |
getTrailerNames()
Preliminary declaration of trailing headers.
|
boolean |
isChunked()
Returns chunked transfer hint for this entity.
|
boolean |
isRepeatable()
Determines whether the producer can consistently produce the same content
after invocation of
ResourceHolder.releaseResources(). |
void |
produce(DataStreamChannel channel)
Triggered to signal the ability of the underlying data channel
to accept more data.
|
protected abstract void |
produceData(ContentType contentType,
OutputStream outputStream)
Writes out entity data into the given stream.
|
void |
releaseResources() |
public AbstractClassicEntityProducer(int initialBufferSize,
ContentType contentType,
Executor executor)
protected abstract void produceData(ContentType contentType, OutputStream outputStream) throws IOException
contentType - the entity content typeoutputStream - the output streamIOExceptionpublic final boolean isRepeatable()
AsyncEntityProducerResourceHolder.releaseResources().isRepeatable 在接口中 AsyncEntityProducerpublic final int available()
AsyncDataProduceravailable 在接口中 AsyncDataProducerpublic final void produce(DataStreamChannel channel) throws IOException
AsyncDataProducerproduce 在接口中 AsyncDataProducerchannel - the data channel capable to accepting more data.IOExceptionpublic final long getContentLength()
EntityDetailsgetContentLength 在接口中 EntityDetailspublic final String getContentType()
EntityDetailsgetContentType 在接口中 EntityDetailspublic String getContentEncoding()
EntityDetailsgetContentEncoding 在接口中 EntityDetailspublic final boolean isChunked()
EntityDetailsThe behavior of wrapping entities is implementation dependent, but should respect the primary purpose.
isChunked 在接口中 EntityDetailspublic final Set<String> getTrailerNames()
EntityDetailsgetTrailerNames 在接口中 EntityDetailspublic final void failed(Exception cause)
AsyncEntityProducerfailed 在接口中 AsyncEntityProducercause - the cause of the failure.public final Exception getException()
public void releaseResources()
releaseResources 在接口中 ResourceHolderCopyright © 2023. All rights reserved.