public class DigestingEntityProducer extends Object implements AsyncEntityProducer
AsyncEntityProducer decorator that calculates a digest hash from
the data stream content and appends its value to the list of trailers.| Constructor and Description |
|---|
DigestingEntityProducer(String algo,
AsyncEntityProducer wrapped) |
| Modifier and Type | Method and Description |
|---|---|
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.
|
byte[] |
getDigest()
Returns digest hash.
|
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.
|
void |
releaseResources() |
public DigestingEntityProducer(String algo, AsyncEntityProducer wrapped)
public boolean isRepeatable()
AsyncEntityProducerResourceHolder.releaseResources().isRepeatable in interface AsyncEntityProducerpublic long getContentLength()
EntityDetailsgetContentLength in interface EntityDetailspublic String getContentType()
EntityDetailsgetContentType in interface EntityDetailspublic String getContentEncoding()
EntityDetailsgetContentEncoding in interface EntityDetailspublic boolean isChunked()
EntityDetailsThe behavior of wrapping entities is implementation dependent, but should respect the primary purpose.
isChunked in interface EntityDetailspublic Set<String> getTrailerNames()
EntityDetailsgetTrailerNames in interface EntityDetailspublic int available()
AsyncDataProduceravailable in interface AsyncDataProducerpublic void produce(DataStreamChannel channel) throws IOException
AsyncDataProducerproduce in interface AsyncDataProducerchannel - the data channel capable to accepting more data.IOExceptionpublic void failed(Exception cause)
AsyncEntityProducerfailed in interface AsyncEntityProducercause - the cause of the failure.public void releaseResources()
releaseResources in interface ResourceHolderpublic byte[] getDigest()
Copyright © 2005–2021 The Apache Software Foundation. All rights reserved.