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
AbstractHasherthat handles converting primitives to bytes using a scratchByteBufferand streams all bytes to a sink to compute the hash.
-
-
Field Summary
Fields Modifier and Type Field Description private java.nio.ByteBufferscratch
-
Constructor Summary
Constructors Constructor Description AbstractByteHasher()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description HasherputByte(byte b)Puts a byte into this sink.HasherputBytes(byte[] bytes)Puts an array of bytes into this sink.HasherputBytes(byte[] bytes, int off, int len)Puts a chunk of an array of bytes into this sink.HasherputBytes(java.nio.ByteBuffer bytes)Puts the remaining bytes of a byte buffer into this sink.HasherputChar(char c)Puts a character into this sink.HasherputInt(int i)Puts an int into this sink.HasherputLong(long l)Puts a long into this sink.HasherputShort(short s)Puts a short into this sink.protected abstract voidupdate(byte b)Updates this hasher with the given byte.protected voidupdate(byte[] b)Updates this hasher with the given bytes.protected voidupdate(byte[] b, int off, int len)Updates this hasher withlenbytes starting atoffin the given buffer.private Hasherupdate(int bytes)Updates the sink with the given number of bytes from the buffer.protected voidupdate(java.nio.ByteBuffer b)Updates this hasher with bytes from the given buffer.-
Methods inherited from class com.google.common.hash.AbstractHasher
putBoolean, putDouble, putFloat, putObject, 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 withlenbytes starting atoffin the given buffer.
-
update
protected void update(java.nio.ByteBuffer b)
Updates this hasher with bytes from the given buffer.
-
update
private Hasher update(int bytes)
Updates the sink with the given number of bytes from the buffer.
-
putByte
public Hasher putByte(byte b)
Description copied from interface:PrimitiveSinkPuts a byte into this sink.- Parameters:
b- a byte- Returns:
- this instance
-
putBytes
public Hasher putBytes(byte[] bytes)
Description copied from interface:PrimitiveSinkPuts an array of bytes into this sink.- Specified by:
putBytesin interfaceHasher- Specified by:
putBytesin interfacePrimitiveSink- Overrides:
putBytesin classAbstractHasher- Parameters:
bytes- a byte array- Returns:
- this instance
-
putBytes
public Hasher putBytes(byte[] bytes, int off, int len)
Description copied from interface:PrimitiveSinkPuts 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:
putBytesin interfaceHasher- Specified by:
putBytesin interfacePrimitiveSink- Overrides:
putBytesin classAbstractHasher- Parameters:
bytes- a byte arrayoff- the start offset in the arraylen- the number of bytes to write- Returns:
- this instance
-
putBytes
public Hasher putBytes(java.nio.ByteBuffer bytes)
Description copied from interface:PrimitiveSinkPuts the remaining bytes of a byte buffer into this sink.bytes.position()is the first byte written,bytes.limit() - 1is the last. The position of the buffer will be equal to the limit when this method returns.- Specified by:
putBytesin interfaceHasher- Specified by:
putBytesin interfacePrimitiveSink- Overrides:
putBytesin classAbstractHasher- Parameters:
bytes- a byte buffer- Returns:
- this instance
-
putShort
public Hasher putShort(short s)
Description copied from interface:PrimitiveSinkPuts a short into this sink.- Specified by:
putShortin interfaceHasher- Specified by:
putShortin interfacePrimitiveSink- Overrides:
putShortin classAbstractHasher
-
putInt
public Hasher putInt(int i)
Description copied from interface:PrimitiveSinkPuts an int into this sink.- Specified by:
putIntin interfaceHasher- Specified by:
putIntin interfacePrimitiveSink- Overrides:
putIntin classAbstractHasher
-
putLong
public Hasher putLong(long l)
Description copied from interface:PrimitiveSinkPuts a long into this sink.- Specified by:
putLongin interfaceHasher- Specified by:
putLongin interfacePrimitiveSink- Overrides:
putLongin classAbstractHasher
-
putChar
public Hasher putChar(char c)
Description copied from interface:PrimitiveSinkPuts a character into this sink.- Specified by:
putCharin interfaceHasher- Specified by:
putCharin interfacePrimitiveSink- Overrides:
putCharin classAbstractHasher
-
-