Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## edu.harvard.hul.ois.jhove
Class Checksummer

    java.lang.Object
      edu.harvard.hul.ois.jhove.Checksummer

All Implemented Interfaces:
  java.util.zip.Checksum

    public class Checksummer

extends java.lang.Object
implements java.util.zip.Checksum

The Checksummer class encapsulates the calculation of the CRC32, MD5, and SHA-1 checksums.

Field Summary
`protected long` | `_nByte` Byte count.

Constructor Summary
`Checksummer()` Creates a Checksummer, with instances of each of CRC32, MD5 MessageDigest, and SHA-1 MessageDigest.

Method Summary
`java.lang.String` | `getCRC32()` Returns the value of the CRC32 as a hex string.
`java.lang.String` | `getMD5()` Returns the value of the MD5 digest as a hex string.
`java.lang.String` | `getSHA1()` Returns the value of the SHA-1 digest as a hex string.
`long` | `getValue()` getValue is required by the Checksum interface, but we can return only one of the three values.
`void` | `reset()` Resets all checksums and the byte count to their initial values.
`void` | `update(byte b)` Updates the checksum with the argument.
`void` | `update(byte[] b)` Updates the checksum with the argument.
`void` | `update(byte[] b, int off, int len)` Updates the checksum with the argument.
`void` | `update(int b)` Updates the checksum with the argument.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### _nByte

    protected long _nByte

  Byte count.

Constructor Detail

### Checksummer

    public Checksummer()

  Creates a Checksummer, with instances of each of CRC32, MD5 MessageDigest, and SHA-1 MessageDigest. If one or both of the MessageDigests aren't supported on the current platform, they are left as null.

  See Also:
    `CRC32`, `MessageDigest`

Method Detail

### reset

    public void reset()

  Resets all checksums and the byte count to their initial values.

  Specified by:
    `reset` in interface `java.util.zip.Checksum`

### getValue

    public long getValue()

  getValue is required by the Checksum interface, but we can return only one of the three values. We return the CRC32 value, since that's the one which is guaranteed to be available.

  Specified by:
    `getValue` in interface `java.util.zip.Checksum`

### update

    public void update(byte b)

  Updates the checksum with the argument. Called when a signed byte is available.

### update

    public void update(int b)

  Updates the checksum with the argument. Called when an unsigned byte is available.

  Specified by:
    `update` in interface `java.util.zip.Checksum`

### update

    public void update(byte[] b)

  Updates the checksum with the argument. Called when a byte array is available.

### update

    public void update(byte[] b,
                       int off,
                       int len)

  Updates the checksum with the argument. Called when a byte array is available.

  Specified by:
    `update` in interface `java.util.zip.Checksum`

### getCRC32

    public java.lang.String getCRC32()

  Returns the value of the CRC32 as a hex string.

### getMD5

    public java.lang.String getMD5()

  Returns the value of the MD5 digest as a hex string. Returns null if the digest is not available.

### getSHA1

    public java.lang.String getSHA1()

  Returns the value of the SHA-1 digest as a hex string. Returns null if the digest is not available.

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD