@Override public ChecksumProvider putBytes(byte[] byteArray) { verifyState(); size += byteArray.length; return this; }
/** * @see ChecksumProviderFactory#getProvider(ChecksumType) */ public ChecksumProvider getProvider(ChecksumType checksumType) { // Dumb implementation for now // TODO: remove the switch statement switch (checksumType) { case FILE_SIZE: return new FileSizeChecksumProviderImpl(); case ADLER32: return new Adler32ChecksumProviderImpl(); case CRC32: return new CRC32ChecksumProviderImpl(); case MD5: return new MD5ChecksumProviderImpl(); case MURMUR32: return new Murmur32ChecksumProviderImpl(); case MURMUR128: return new Murmur128ChecksumProviderImpl(); case SHA1: default: return new SHA1ChecksumProviderImpl(); } }
@Override public ChecksumProvider putBytes(byte[] byteArray, int offset, int length) { verifyState(); /* provide bounds exception specified by method documentation */ @SuppressWarnings("unused") final byte start = byteArray[offset]; @SuppressWarnings("unused") final byte end = byteArray[offset + length - 1]; size += length; return this; }
@Override public ChecksumProvider putFile(String filePath) { verifyState(); size = new File(filePath).length(); return this; }
@Override public ChecksumProvider putBytes(ByteBuffer byteBuffer) { verifyState(); if (!byteBuffer.hasArray()) { throw new IllegalArgumentException("Supplied ByteBuffer has " + "inaccessible array."); } size += byteBuffer.limit() - byteBuffer.position(); return this; }