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);