Package edu.wisc.library.ocfl.core.util
Class MultiDigestInputStream
- java.lang.Object
-
- java.io.InputStream
-
- java.io.FilterInputStream
-
- edu.wisc.library.ocfl.core.util.MultiDigestInputStream
-
- All Implemented Interfaces:
Closeable,AutoCloseable
public class MultiDigestInputStream extends FilterInputStream
Input stream that is able to calculate multiple digests concurrently
-
-
Field Summary
-
Fields inherited from class java.io.FilterInputStream
in
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static MultiDigestInputStreamcreate(InputStream inputStream, Collection<DigestAlgorithm> digestAlgorithms)Creates a new MultiDigestInputStreamMap<DigestAlgorithm,String>getResults()Returns the computed digests.-
Methods inherited from class java.io.FilterInputStream
available, close, mark, markSupported, read, read, read, reset, skip
-
Methods inherited from class java.io.InputStream
nullInputStream, readAllBytes, readNBytes, readNBytes, transferTo
-
-
-
-
Method Detail
-
create
public static MultiDigestInputStream create(InputStream inputStream, Collection<DigestAlgorithm> digestAlgorithms)
Creates a new MultiDigestInputStream- Parameters:
inputStream- the stream to wrapdigestAlgorithms- the algorithms to compute- Returns:
- the wrapped stream
-
getResults
public Map<DigestAlgorithm,String> getResults()
Returns the computed digests. This method should only be called ONCE after the stream has been consumed.- Returns:
- the hex encoded computed digests
-
-