## 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.