Class MultiDigestInputStream

java.lang.Object
java.io.InputStream
java.io.FilterInputStream
io.ocfl.core.util.MultiDigestInputStream
All Implemented Interfaces:
Closeable, AutoCloseable

public class MultiDigestInputStream extends FilterInputStream
Input stream that is able to calculate multiple digests concurrently
  • Method Details

    • create

      public static MultiDigestInputStream create(InputStream inputStream, Collection<DigestAlgorithm> digestAlgorithms)
      Creates a new MultiDigestInputStream
      Parameters:
      inputStream - the stream to wrap
      digestAlgorithms - 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