Class SdkDigestInputStream
- java.lang.Object
- 
- java.io.InputStream
- 
- java.io.FilterInputStream
- 
- java.security.DigestInputStream
- 
- software.amazon.awssdk.core.io.SdkDigestInputStream
 
 
 
 
- 
- All Implemented Interfaces:
- Closeable,- AutoCloseable,- Releasable
 
 public class SdkDigestInputStream extends DigestInputStream implements Releasable Base class for AWS Java SDK specificDigestInputStream.
- 
- 
Field Summary- 
Fields inherited from class java.security.DigestInputStreamdigest
 - 
Fields inherited from class java.io.FilterInputStreamin
 
- 
 - 
Constructor SummaryConstructors Constructor Description SdkDigestInputStream(InputStream stream, MessageDigest digest)SdkDigestInputStream(InputStream stream, MessageDigest digest, SdkChecksum sdkChecksum)
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description intread()intread(byte[] b, int off, int len)voidrelease()Releases the allocated resource.longskip(long n)Skips over and discardsnbytes of data from this input stream, while taking the skipped bytes into account for digest calculation.- 
Methods inherited from class java.security.DigestInputStreamgetMessageDigest, on, setMessageDigest, toString
 - 
Methods inherited from class java.io.FilterInputStreamavailable, close, mark, markSupported, read, reset
 
- 
 
- 
- 
- 
Constructor Detail- 
SdkDigestInputStreampublic SdkDigestInputStream(InputStream stream, MessageDigest digest, SdkChecksum sdkChecksum) 
 - 
SdkDigestInputStreampublic SdkDigestInputStream(InputStream stream, MessageDigest digest) 
 
- 
 - 
Method Detail- 
skippublic final long skip(long n) throws IOExceptionSkips over and discardsnbytes of data from this input stream, while taking the skipped bytes into account for digest calculation. Theskipmethod may, for a variety of reasons, end up skipping over some smaller number of bytes, possibly0. This may result from any of a number of conditions; reaching end of file beforenbytes have been skipped is only one possibility. The actual number of bytes skipped is returned. Ifnis negative, no bytes are skipped.The skipmethod of this class creates a byte array and then repeatedly reads into it untilnbytes have been read or the end of the stream has been reached. Subclasses are encouraged to provide a more efficient implementation of this method. For instance, the implementation may depend on the ability to seek.- Overrides:
- skipin class- FilterInputStream
- Parameters:
- n- the number of bytes to be skipped.
- Returns:
- the actual number of bytes skipped.
- Throws:
- IOException- if the stream does not support seek, or if some other I/O error occurs.
 
 - 
releasepublic final void release() Description copied from interface:ReleasableReleases the allocated resource. This method should not be called except by the caller who allocated the resource at the very top of the call stack. This allows, typically, aCloseableresource to be not unintentionally released owing to the calling of theCloseable.close()methods by implementation deep down in the call stack.For example, the creation of a ResettableInputStreamwould entail physically opening a file. If the opened file is meant to be closed only (in a finally block) by the very same code block that created it, then it is necessary that the release method must not be called while the execution is made in other stack frames. In such case, as other stack frames may inadvertently or indirectly call the close method of the stream, the creator of the stream would need to explicitly disable the accidental closing viaResettableInputStream#disableClose(), so that the release method becomes the only way to truly close the opened file.- Specified by:
- releasein interface- Releasable
 
 - 
readpublic int read() throws IOException- Overrides:
- readin class- DigestInputStream
- Throws:
- IOException
 
 - 
readpublic int read(byte[] b, int off, int len) throws IOException- Overrides:
- readin class- DigestInputStream
- Throws:
- IOException
 
 
- 
 
-