/**@class java.security.DigestInputStream @extends java.io.FilterInputStream A transparent stream that updates the associated message digest using the bits going through the stream. <p>To complete the message digest computation, call one of the {@code digest} methods on the associated message digest after your calls to one of this digest input stream's {@link #read() read} methods. <p>It is possible to turn this stream on or off (see {@link #on(boolean) on}). When it is on, a call to one of the {@code read} methods results in an update on the message digest. But when it is off, the message digest is not updated. The default is for the stream to be on. <p>Note that digest objects can compute only one digest (see {@link java.security.MessageDigest}), so that in order to compute intermediate digests, a caller should retain a handle onto the digest object, and clone it for each digest to be computed, leaving the orginal digest untouched. @see MessageDigest @see DigestOutputStream @author Benjamin Renaud */ var DigestInputStream = { /**Returns the message digest associated with this stream. @return {Object {java.security.MessageDigest}} the message digest associated with this stream. @see #setMessageDigest(java.security.MessageDigest) */ getMessageDigest : function( ) {}, /**Associates the specified message digest with this stream. @param {Object {MessageDigest}} digest the message digest to be associated with this stream. @see #getMessageDigest() */ setMessageDigest : function( ) {}, /**Reads a byte, and updates the message digest (if the digest function is on). That is, this method reads a byte from the input stream, blocking until the byte is actually read. If the digest function is on (see {@link #on(boolean) on}), this method will then call {@code update} on the message digest associated with this stream, passing it the byte read. @return {Number} the byte read. @exception IOException if an I/O error occurs. @see MessageDigest#update(byte) */ read : function( ) {}, /**Reads into a byte array, and updates the message digest (if the digest function is on). That is, this method reads up to {@code len} bytes from the input stream into the array {@code b}, starting at offset {@code off}. This method blocks until the data is actually read. If the digest function is on (see {@link #on(boolean) on}), this method will then call {@code update} on the message digest associated with this stream, passing it the data. @param {Object {byte[]}} b the array into which the data is read. @param {Number} off the starting offset into {@code b} of where the data should be placed. @param {Number} len the maximum number of bytes to be read from the input stream into b, starting at offset {@code off}. @return {Number} the actual number of bytes read. This is less than {@code len} if the end of the stream is reached prior to reading {@code len} bytes. -1 is returned if no bytes were read because the end of the stream had already been reached when the call was made. @exception IOException if an I/O error occurs. @see MessageDigest#update(byte[], int, int) */ read : function( ) {}, /**Turns the digest function on or off. The default is on. When it is on, a call to one of the {@code read} methods results in an update on the message digest. But when it is off, the message digest is not updated. @param {Boolean} on true to turn the digest function on, false to turn it off. */ on : function( ) {}, /**Prints a string representation of this digest input stream and its associated message digest object. */ toString : function( ) {}, };