public class Payload extends java.lang.Object implements java.io.Closeable
| Modifier and Type | Field and Description |
|---|---|
protected boolean |
bClosed
Has record been closed before.
|
protected boolean |
bNoSuchAlgorithmException
Boolean indicating no such algorithm exception under initialization.
|
protected byte[] |
digest
Digest bytes.
|
protected java.io.BufferedInputStream |
in_buffered
Payload content.
|
protected java.security.DigestInputStream |
in_digest
Automatic digesting of payload input stream.
|
protected FixedLengthInputStream |
in_fl
Base stream used to limit payload access to only the payload and
not any record data beyond that.
|
protected ByteCountingPushBackInputStream |
in_pb_exposed
Pushback input stream exposed to the outside, usable by payload processors.
|
protected long |
length
Payload length.
|
protected java.security.MessageDigest |
md
Message digest object.
|
protected PayloadOnClosedHandler |
onClosedHandler
Handler called when this payloads stream has been fully consumed.
|
protected PayloadWithHeaderAbstract |
payloadHeaderWrapped
Header wrapped payload, if present.
|
protected int |
pushback_size
Pushback size.
|
| Modifier | Constructor and Description |
|---|---|
protected |
Payload()
Non public constructor.
|
| Modifier and Type | Method and Description |
|---|---|
void |
close()
Closes the this payload stream, skipping unread bytes in the process.
|
byte[] |
getDigest()
Returns the calculated digest.
|
ByteCountingPushBackInputStream |
getInputStream()
Get
InputStream to read the payload directly from the
source bypassing any existing HttpResponse object. |
java.io.InputStream |
getInputStreamComplete()
Get
InputStream to read the complete payload even though
a http response header may have been read. |
PayloadWithHeaderAbstract |
getPayloadHeaderWrapped()
Get the
PayloadHeaderWrapper object associated with this payload. |
int |
getPushbackSize()
Get pushback buffer size.
|
long |
getRemaining()
Get payload remaining length.
|
long |
getTotalLength()
Get payload total length.
|
long |
getUnavailable()
Get the number of unavailable bytes missing due to unexpected EOF.
|
boolean |
isClosed()
Check to see if the payload has been closed.
|
static Payload |
processPayload(java.io.InputStream in,
long length,
int pushback_size,
java.lang.String digestAlgorithm)
Creates new
ArcPayload instance. |
void |
setOnClosedHandler(PayloadOnClosedHandler onClosedHandler)
Set optional handler to be called when payload is closed.
|
void |
setPayloadHeaderWrapped(PayloadWithHeaderAbstract payloadHeaderWrapped)
Set
PayloadHeaderWrapper object in case of recognized payload content. |
protected boolean bClosed
protected long length
protected FixedLengthInputStream in_fl
protected java.security.MessageDigest md
protected byte[] digest
protected java.security.DigestInputStream in_digest
protected boolean bNoSuchAlgorithmException
protected java.io.BufferedInputStream in_buffered
protected ByteCountingPushBackInputStream in_pb_exposed
protected int pushback_size
protected PayloadWithHeaderAbstract payloadHeaderWrapped
protected PayloadOnClosedHandler onClosedHandler
protected Payload()
public static Payload processPayload(java.io.InputStream in, long length, int pushback_size, java.lang.String digestAlgorithm) throws java.io.IOException
ArcPayload instance.in - the input stream to parse.length - payload length.pushback_size - pushback sizedigestAlgorithm - digest algorithm to use on payload or nulljava.io.IOException - if an I/O error occurs while initializingpublic void setOnClosedHandler(PayloadOnClosedHandler onClosedHandler)
onClosedHandler - on closed handler implementationpublic byte[] getDigest()
public long getTotalLength()
public long getUnavailable() throws java.io.IOException
0 as long as the stream is open.java.io.IOException - if an I/O error occurs calling available method on streampublic int getPushbackSize()
public void setPayloadHeaderWrapped(PayloadWithHeaderAbstract payloadHeaderWrapped)
PayloadHeaderWrapper object in case of recognized payload content.
This method should not be called by the payload consumer.payloadHeaderWrapped - PayloadHeaderWrapper objectpublic PayloadWithHeaderAbstract getPayloadHeaderWrapped()
PayloadHeaderWrapper object associated with this payload.PayloadHeaderWrapper object or nullpublic java.io.InputStream getInputStreamComplete()
InputStream to read the complete payload even though
a http response header may have been read.InputStream to read payload data (in)directly.public ByteCountingPushBackInputStream getInputStream()
InputStream to read the payload directly from the
source bypassing any existing HttpResponse object.
A parsed http response header will not be accessible through this
stream.InputStream to read payload data.public long getRemaining() throws java.io.IOException
java.io.IOException - if an I/O error occurs calling available method on streampublic boolean isClosed()
public void close() throws java.io.IOException
close in interface java.io.Closeableclose in interface java.lang.AutoCloseablejava.io.IOException - if an I/O error occurs in the closing processCopyright © 2011–2023. All rights reserved.