Package com.google.common.hash
Class AbstractByteHasher
- java.lang.Object
-
- com.google.common.hash.AbstractHasher
-
- com.google.common.hash.AbstractByteHasher
-
- All Implemented Interfaces:
Hasher
,PrimitiveSink
- Direct Known Subclasses:
ChecksumHashFunction.ChecksumHasher
,Crc32cHashFunction.Crc32cHasher
,MacHashFunction.MacHasher
,MessageDigestHashFunction.MessageDigestHasher
abstract class AbstractByteHasher extends AbstractHasher
AbstractHasher
that handles converting primitives to bytes using a scratchByteBuffer
and streams all bytes to a sink to compute the hash.
-
-
Field Summary
Fields Modifier and Type Field Description private java.nio.ByteBuffer
scratch
-
Constructor Summary
Constructors Constructor Description AbstractByteHasher()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description Hasher
putByte(byte b)
Puts a byte into this sink.Hasher
putBytes(byte[] bytes)
Puts an array of bytes into this sink.Hasher
putBytes(byte[] bytes, int off, int len)
Puts a chunk of an array of bytes into this sink.Hasher
putChar(char c)
Puts a character into this sink.Hasher
putInt(int i)
Puts an int into this sink.Hasher
putLong(long l)
Puts a long into this sink.<T> Hasher
putObject(T instance, Funnel<? super T> funnel)
A simple convenience forfunnel.funnel(object, this)
.Hasher
putShort(short s)
Puts a short into this sink.protected abstract void
update(byte b)
Updates this hasher with the given byte.protected void
update(byte[] b)
Updates this hasher with the given bytes.protected void
update(byte[] b, int off, int len)
Updates this hasher withlen
bytes starting atoff
in the given buffer.private Hasher
update(int bytes)
Updates the sink with the given number of bytes from the buffer.-
Methods inherited from class com.google.common.hash.AbstractHasher
putBoolean, putDouble, putFloat, putString, putUnencodedChars
-
-
-
-
Method Detail
-
update
protected abstract void update(byte b)
Updates this hasher with the given byte.
-
update
protected void update(byte[] b)
Updates this hasher with the given bytes.
-
update
protected void update(byte[] b, int off, int len)
Updates this hasher withlen
bytes starting atoff
in the given buffer.
-
putByte
public Hasher putByte(byte b)
Description copied from interface:PrimitiveSink
Puts a byte into this sink.- Parameters:
b
- a byte- Returns:
- this instance
-
putBytes
public Hasher putBytes(byte[] bytes)
Description copied from interface:PrimitiveSink
Puts an array of bytes into this sink.- Parameters:
bytes
- a byte array- Returns:
- this instance
-
putBytes
public Hasher putBytes(byte[] bytes, int off, int len)
Description copied from interface:PrimitiveSink
Puts a chunk of an array of bytes into this sink.bytes[off]
is the first byte written,bytes[off + len - 1]
is the last.- Parameters:
bytes
- a byte arrayoff
- the start offset in the arraylen
- the number of bytes to write- Returns:
- this instance
-
update
private Hasher update(int bytes)
Updates the sink with the given number of bytes from the buffer.
-
putShort
public Hasher putShort(short s)
Description copied from interface:PrimitiveSink
Puts a short into this sink.
-
putInt
public Hasher putInt(int i)
Description copied from interface:PrimitiveSink
Puts an int into this sink.
-
putLong
public Hasher putLong(long l)
Description copied from interface:PrimitiveSink
Puts a long into this sink.
-
putChar
public Hasher putChar(char c)
Description copied from interface:PrimitiveSink
Puts a character into this sink.
-
-