Interface Checksum

All Known Implementing Classes:
Adler32, CRC32, CRC32C
public interface Checksum

An interface representing a data checksum.

Since:
1.1

Method Summary

All Methods Instance Methods Abstract Methods Default Methods
Modifier and Type Method Description
long getValue()

Returns the current checksum value.

void reset()

Resets the checksum to its initial value.

default void update​(byte[] b)

Updates the current checksum with the specified array of bytes.

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

Updates the current checksum with the specified array of bytes.

void update​(int b)

Updates the current checksum with the specified byte.

default void update​(ByteBuffer buffer)

Updates the current checksum with the bytes from the specified buffer.

Method Detail

update

void update​(int b)

Updates the current checksum with the specified byte.

Parameters:
b - the byte to update the checksum with

update

default void update​(byte[] b)

Updates the current checksum with the specified array of bytes.

Implementation Requirements:
This default implementation is equal to calling update(b, 0, b.length).
Parameters:
b - the array of bytes to update the checksum with
Throws:
NullPointerException - if b is null
Since:
9

update

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

Updates the current checksum with the specified array of bytes.

Parameters:
b - the byte array to update the checksum with
off - the start offset of the data
len - the number of bytes to use for the update

update

default void update​(ByteBuffer buffer)

Updates the current checksum with the bytes from the specified buffer. The checksum is updated with the remaining bytes in the buffer, starting at the buffer's position. Upon return, the buffer's position will be updated to its limit; its limit will not have been changed.

API Note:
For best performance with DirectByteBuffer and other ByteBuffer implementations without a backing array implementers of this interface should override this method.
Implementation Requirements:
The default implementation has the following behavior.
For ByteBuffers backed by an accessible byte array.
update(buffer.array(),
        buffer.position() + buffer.arrayOffset(),
        buffer.remaining());
For ByteBuffers not backed by an accessible byte array.
byte[] b = new byte[Math.min(buffer.remaining(), 4096)];
 while (buffer.hasRemaining()) {
     int length = Math.min(buffer.remaining(), b.length);
     buffer.get(b, 0, length);
     update(b, 0, length);
 }
Parameters:
buffer - the ByteBuffer to update the checksum with
Throws:
NullPointerException - if buffer is null
Since:
9

getValue

long getValue()

Returns the current checksum value.

Returns:
the current checksum value

reset

void reset()

Resets the checksum to its initial value.