com.google.common.hash
Interface Hasher

All Superinterfaces:
PrimitiveSink

@Beta
public interface Hasher
extends PrimitiveSink

A PrimitiveSink 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.

Since:
11.0
Author:
Kevin Bourrillion

Method Summary
 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(CharSequence charSequence)
          Equivalent to processing each char value in the CharSequence, in order.
 Hasher putString(CharSequence charSequence, Charset charset)
          Equivalent to putBytes(charSequence.toString().getBytes(charset)).
 

Method Detail

putByte

Hasher putByte(byte b)
Description copied from interface: PrimitiveSink
Puts a byte into this sink.

Specified by:
putByte in interface PrimitiveSink
Parameters:
b - a byte
Returns:
this instance

putBytes

Hasher putBytes(byte[] bytes)
Description copied from interface: PrimitiveSink
Puts an array of bytes into this sink.

Specified by:
putBytes in interface PrimitiveSink
Parameters:
bytes - a byte array
Returns:
this instance

putBytes

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.

Specified by:
putBytes in interface PrimitiveSink
Parameters:
bytes - a byte array
off - the start offset in the array
len - the number of bytes to write
Returns:
this instance

putShort

Hasher putShort(short s)
Description copied from interface: PrimitiveSink
Puts a short into this sink.

Specified by:
putShort in interface PrimitiveSink

putInt

Hasher putInt(int i)
Description copied from interface: PrimitiveSink
Puts an int into this sink.

Specified by:
putInt in interface PrimitiveSink

putLong

Hasher putLong(long l)
Description copied from interface: PrimitiveSink
Puts a long into this sink.

Specified by:
putLong in interface PrimitiveSink

putFloat

Hasher putFloat(float f)
Equivalent to putInt(Float.floatToRawIntBits(f)).

Specified by:
putFloat in interface PrimitiveSink

putDouble

Hasher putDouble(double d)
Equivalent to putLong(Double.doubleToRawLongBits(d)).

Specified by:
putDouble in interface PrimitiveSink

putBoolean

Hasher putBoolean(boolean b)
Equivalent to putByte(b ? (byte) 1 : (byte) 0).

Specified by:
putBoolean in interface PrimitiveSink

putChar

Hasher putChar(char c)
Description copied from interface: PrimitiveSink
Puts a character into this sink.

Specified by:
putChar in interface PrimitiveSink

putString

Hasher putString(CharSequence charSequence)
Equivalent to processing each char value in the CharSequence, in order. The input must not be updated while this method is in progress.

Specified by:
putString in interface PrimitiveSink

putString

Hasher putString(CharSequence charSequence,
                 Charset charset)
Equivalent to putBytes(charSequence.toString().getBytes(charset)).

Specified by:
putString in interface PrimitiveSink

putObject

<T> Hasher putObject(T instance,
                     Funnel<? super T> funnel)
A simple convenience for funnel.funnel(object, this).


hash

HashCode hash()
Computes a hash code based on the data that have been provided to this hasher. The result is unspecified if this method is called more than once on the same instance.



Copyright © 2010-2012. All Rights Reserved.