com.google.common.hash
@Beta public interface Hasher extends Sink
Sink
that can compute a hash code after reading the input. Each hasher should
translate all multibyte values (putInt(int)
, putLong(long)
, etc) to bytes
in little-endian order.Modifier and Type | Method and Description |
---|---|
HashCode |
hash()
Computes a hash code based on the data that have been provided to this hasher.
|
Hasher |
putBoolean(boolean b)
Equivalent to
putByte(b ? (byte) 1 : (byte) 0) . |
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 |
putDouble(double d)
Equivalent to
putLong(Double.doubleToRawLongBits(d)) . |
Hasher |
putFloat(float f)
Equivalent to
putInt(Float.floatToRawIntBits(f)) . |
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 for
funnel.funnel(object, this) . |
Hasher |
putShort(short s)
Puts a short into this sink.
|
Hasher |
putString(java.lang.CharSequence charSequence)
Equivalent to
putBytes(charSequence.toString().getBytes(Charsets.UTF_16LE) . |
Hasher |
putString(java.lang.CharSequence charSequence,
java.nio.charset.Charset charset)
Equivalent to
putBytes(charSequence.toString().getBytes(charset) . |
Hasher putBytes(byte[] bytes)
Sink
Hasher putBytes(byte[] bytes, int off, int len)
Sink
bytes[off]
is the first byte written,
bytes[off + len - 1]
is the last.Hasher putShort(short s)
Sink
Hasher putFloat(float f)
putInt(Float.floatToRawIntBits(f))
.Hasher putDouble(double d)
putLong(Double.doubleToRawLongBits(d))
.Hasher putBoolean(boolean b)
putByte(b ? (byte) 1 : (byte) 0)
.putBoolean
in interface Sink
Hasher putChar(char c)
Sink
Hasher putString(java.lang.CharSequence charSequence)
putBytes(charSequence.toString().getBytes(Charsets.UTF_16LE)
.Hasher putString(java.lang.CharSequence charSequence, java.nio.charset.Charset charset)
putBytes(charSequence.toString().getBytes(charset)
.<T> Hasher putObject(T instance, Funnel<? super T> funnel)
funnel.funnel(object, this)
.HashCode hash()