Package ome.util.checksum
Interface ChecksumProvider
-
- All Known Implementing Classes:
AbstractChecksumProvider,Adler32ChecksumProviderImpl,CRC32ChecksumProviderImpl,FileSizeChecksumProviderImpl,MD5ChecksumProviderImpl,Murmur128ChecksumProviderImpl,Murmur32ChecksumProviderImpl,SHA1ChecksumProviderImpl
public interface ChecksumProviderAn interface producing checksums or message digests (depending on the implementing class) of a given type of input. The object's internal state represents the current checksum value and each call toputBytes()updates this object's internal state. It is the callers responsibility to make sure calls toputFile(String)are not intermixed withputBytes(). This object can only return a checksum for a file or byte structure, never both.
Inside theome.util.checksumpackage, the term checksum is understood as an "umbrella" term covering checksums, message digests and hashes.- Since:
- 4.4.7
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description byte[]checksumAsBytes()Returns a byte array representation of the calculated checksum.java.lang.StringchecksumAsString()Returns aStringrepresenting the checksum in hex form.ChecksumProviderputBytes(byte[] byteArray)Updates the internal checksum value with data from a byte array.ChecksumProviderputBytes(byte[] byteArray, int offset, int length)Updates the internal checksum value with data from a chunk of a byte array.ChecksumProviderputBytes(java.nio.ByteBuffer byteBuffer)Updates the internal checksum value with data from a byte buffer.ChecksumProviderputFile(java.lang.String filePath)Updates the internal checksum value with data from a file identified by a path.
-
-
-
Method Detail
-
putBytes
ChecksumProvider putBytes(byte[] byteArray)
Updates the internal checksum value with data from a byte array. If the array is null, throws NPE. Note that, although checksum results are consistent for any given hash function and byte array, different hash functions may calculate different checksums for an empty array despite its lack of content.- Parameters:
byteArray- The input byte array.- Returns:
- ChecksumProvider
-
putBytes
ChecksumProvider putBytes(byte[] byteArray, int offset, int length)
Updates the internal checksum value with data from a chunk of a byte array. First byte read isbyteArray[offset], last byte read isbyteArray[offset + length - 1]. If the array is null, throws NPE. Throws IOOB if indexes are invalid. Note that, although checksum results are consistent for any given hash function and byte array, different hash functions may calculate different checksums for an empty array despite its lack of content.- Parameters:
byteArray- The input byte array.offset- The offset in the byte array at which to start putting bytes.length- The number of bytes to put, starting from the offset.- Returns:
- ChecksumProvider
-
putBytes
ChecksumProvider putBytes(java.nio.ByteBuffer byteBuffer)
Updates the internal checksum value with data from a byte buffer. If the array underlying the byte buffer is not accessible, throws an IllegalArgumentException.- Parameters:
byteBuffer- The input byte buffer.- Returns:
- ChecksumProvider
-
putFile
ChecksumProvider putFile(java.lang.String filePath)
Updates the internal checksum value with data from a file identified by a path. Throws a RuntimeException in a case of an IO error. Input previous to this method does not affect the calculated checksum.- Parameters:
filePath-Stringrepresenting the absolute file path.- Returns:
- ChecksumProvider
-
checksumAsBytes
byte[] checksumAsBytes()
Returns a byte array representation of the calculated checksum. Subsequent calls to this method will return the same object state. After calling this method any invocation of the mutating methods (put*) will cause it to throw IllegalStateException.- Returns:
byte[]The checksum in a byte array.
-
checksumAsString
java.lang.String checksumAsString()
Returns aStringrepresenting the checksum in hex form. Subsequent calls to this method will return the same object state. After calling this method any invocation of the mutating methods (put*) will cause it to throw IllegalStateException.- Returns:
StringThe hexadecimal value of the checksum.
-
-