abstract class AbstractHasher extends java.lang.Object implements Hasher
Hasher, which only requires subtypes to implement Hasher.putByte(byte). Subtypes may provide more efficient implementations, however.| Constructor and Description |
|---|
AbstractHasher() |
| Modifier and Type | Method and Description |
|---|---|
Hasher |
putBoolean(boolean b)
Equivalent to
putByte(b ? (byte) 1 : (byte) 0). |
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 |
putBytes(java.nio.ByteBuffer b)
Puts the remaining bytes of a byte buffer 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,
java.nio.charset.Charset charset)
Equivalent to
putBytes(charSequence.toString().getBytes(charset)). |
Hasher |
putUnencodedChars(java.lang.CharSequence charSequence)
Equivalent to processing each
char value in the CharSequence, in order. |
public final Hasher putBoolean(boolean b)
HasherputByte(b ? (byte) 1 : (byte) 0).putBoolean in interface HasherputBoolean in interface PrimitiveSinkpublic final Hasher putDouble(double d)
HasherputLong(Double.doubleToRawLongBits(d)).putDouble in interface HasherputDouble in interface PrimitiveSinkpublic final Hasher putFloat(float f)
HasherputInt(Float.floatToRawIntBits(f)).putFloat in interface HasherputFloat in interface PrimitiveSinkpublic Hasher putUnencodedChars(java.lang.CharSequence charSequence)
Hasherchar value in the CharSequence, in order. In
other words, no character encoding is performed; the low byte and high byte of each char are hashed directly (in that order). The input must not be updated while this method is
in progress.
Warning: This method will produce different output than most other languages do when
running the same hash function on the equivalent input. For cross-language compatibility, use
Hasher.putString(java.lang.CharSequence, java.nio.charset.Charset), usually with a charset of UTF-8. For other use cases, use putUnencodedChars.
putUnencodedChars in interface HasherputUnencodedChars in interface PrimitiveSinkpublic Hasher putString(java.lang.CharSequence charSequence, java.nio.charset.Charset charset)
HasherputBytes(charSequence.toString().getBytes(charset)).
Warning: This method, which reencodes the input before hashing it, is useful only for
cross-language compatibility. For other use cases, prefer Hasher.putUnencodedChars(java.lang.CharSequence), which is
faster, produces the same output across Java releases, and hashes every char in the
input, even if some are invalid.
putString in interface HasherputString in interface PrimitiveSinkpublic Hasher putBytes(byte[] bytes)
PrimitiveSinkputBytes in interface HasherputBytes in interface PrimitiveSinkbytes - a byte arraypublic Hasher putBytes(byte[] bytes, int off, int len)
PrimitiveSinkbytes[off] is the first byte written,
bytes[off + len - 1] is the last.putBytes in interface HasherputBytes in interface PrimitiveSinkbytes - a byte arrayoff - the start offset in the arraylen - the number of bytes to writepublic Hasher putBytes(java.nio.ByteBuffer b)
PrimitiveSinkbytes.position() is the first
byte written, bytes.limit() - 1 is the last. The position of the buffer will be equal
to the limit when this method returns.putBytes in interface HasherputBytes in interface PrimitiveSinkb - a byte bufferpublic Hasher putShort(short s)
PrimitiveSinkputShort in interface HasherputShort in interface PrimitiveSinkpublic Hasher putInt(int i)
PrimitiveSinkputInt in interface HasherputInt in interface PrimitiveSinkpublic Hasher putLong(long l)
PrimitiveSinkputLong in interface HasherputLong in interface PrimitiveSinkpublic Hasher putChar(char c)
PrimitiveSinkputChar in interface HasherputChar in interface PrimitiveSink