src/java.base/share/classes/java/util/zip/CRC32.java
Print this page
*** 1,7 ****
/*
! * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
--- 1,7 ----
/*
! * Copyright (c) 1996, 2014, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
*** 30,42 ****
/**
* A class that can be used to compute the CRC-32 of a data stream.
*
* <p> Passing a {@code null} argument to a method in this class will cause
! * a {@link NullPointerException} to be thrown.
*
- * @see Checksum
* @author David Connelly
*/
public
class CRC32 implements Checksum {
private int crc;
--- 30,41 ----
/**
* A class that can be used to compute the CRC-32 of a data stream.
*
* <p> Passing a {@code null} argument to a method in this class will cause
! * a {@link NullPointerException} to be thrown.</p>
*
* @author David Connelly
*/
public
class CRC32 implements Checksum {
private int crc;
*** 49,73 ****
/**
* Updates the CRC-32 checksum with the specified byte (the low
* eight bits of the argument b).
- *
- * @param b the byte to update the checksum with
*/
public void update(int b) {
crc = update(crc, b);
}
/**
* Updates the CRC-32 checksum with the specified array of bytes.
*
* @throws ArrayIndexOutOfBoundsException
! * if {@code off} is negative, or {@code len} is negative,
! * or {@code off+len} is greater than the length of the
! * array {@code b}
*/
public void update(byte[] b, int off, int len) {
if (b == null) {
throw new NullPointerException();
}
if (off < 0 || len < 0 || off > b.length - len) {
--- 48,72 ----
/**
* Updates the CRC-32 checksum with the specified byte (the low
* eight bits of the argument b).
*/
+ @Override
public void update(int b) {
crc = update(crc, b);
}
/**
* Updates the CRC-32 checksum with the specified array of bytes.
*
* @throws ArrayIndexOutOfBoundsException
! * if {@code off} is negative, or {@code len} is negative, or
! * {@code off+len} is negative or greater than the length of
! * the array {@code b}.
*/
+ @Override
public void update(byte[] b, int off, int len) {
if (b == null) {
throw new NullPointerException();
}
if (off < 0 || len < 0 || off > b.length - len) {
*** 75,105 ****
}
crc = updateBytes(crc, b, off, len);
}
/**
! * Updates the CRC-32 checksum with the specified array of bytes.
! *
! * @param b the array of bytes to update the checksum with
! */
! public void update(byte[] b) {
! crc = updateBytes(crc, b, 0, b.length);
! }
!
! /**
! * Updates the checksum with the bytes from the specified buffer.
*
! * The checksum is updated using
! * buffer.{@link java.nio.Buffer#remaining() remaining()}
! * bytes starting at
! * buffer.{@link java.nio.Buffer#position() position()}
! * Upon return, the buffer's position will
! * be updated to its limit; its limit will not have been changed.
*
- * @param buffer the ByteBuffer to update the checksum with
* @since 1.8
*/
public void update(ByteBuffer buffer) {
int pos = buffer.position();
int limit = buffer.limit();
assert (pos <= limit);
int rem = limit - pos;
--- 74,92 ----
}
crc = updateBytes(crc, b, off, len);
}
/**
! * Updates the CRC-32 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.
*
* @since 1.8
*/
+ @Override
public void update(ByteBuffer buffer) {
int pos = buffer.position();
int limit = buffer.limit();
assert (pos <= limit);
int rem = limit - pos;
*** 118,134 ****
--- 105,123 ----
}
/**
* Resets CRC-32 to initial value.
*/
+ @Override
public void reset() {
crc = 0;
}
/**
* Returns CRC-32 value.
*/
+ @Override
public long getValue() {
return (long)crc & 0xffffffffL;
}
private native static int update(int crc, int b);