//********************************************************* // // Copyright (c) Microsoft. All rights reserved. // This code is licensed under the Apache License Version 2.0. // THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF // ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY // IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR // PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT. // //********************************************************* package com.microsoft.uprove; import java.io.OutputStream; import java.security.MessageDigest; /** * An output stream that passes all data to a <code>MessageDigest</code>. */ final class MDOutputStream extends OutputStream { private final MessageDigest md; /** * @param md the digest to which all data will be written. */ MDOutputStream(final MessageDigest md) { super(); if (md == null) { throw new NullPointerException(); } this.md = md; } /* (non-Javadoc) * @see java.io.OutputStream#write(int) */ public void write(final int b) { md.update((byte) b); } /* (non-Javadoc) * @see java.io.OutputStream#write(byte[], int, int) */ public void write(final byte[] b, final int off, final int len) { md.update(b, off, len); } /* (non-Javadoc) * @see java.io.OutputStream#write(byte[]) */ public void write(final byte[] b) { md.update(b); } }