/**@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(  ) {},


};