Interface PrimitiveSink

All Known Subinterfaces:
Hasher
All Known Implementing Classes:
AbstractByteHasher, AbstractHasher, AbstractNonStreamingHashFunction.BufferingHasher, AbstractStreamingHasher, ChecksumHashFunction.ChecksumHasher, Crc32cHashFunction.Crc32cHasher, MacHashFunction.MacHasher, MessageDigestHashFunction.MessageDigestHasher, Murmur3_128HashFunction.Murmur3_128Hasher, Murmur3_32HashFunction.Murmur3_32Hasher, SipHashFunction.SipHasher

public interface PrimitiveSink
An object which can receive a stream of primitive values.
Since:
12.0 (in 11.0 as Sink)
  • Method Details

    • putByte

      PrimitiveSink putByte(byte b)
      Puts a byte into this sink.
      Parameters:
      b - a byte
      Returns:
      this instance
    • putBytes

      PrimitiveSink putBytes(byte[] bytes)
      Puts an array of bytes into this sink.
      Parameters:
      bytes - a byte array
      Returns:
      this instance
    • putBytes

      PrimitiveSink putBytes(byte[] bytes, int off, int len)
      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.
      Parameters:
      bytes - a byte array
      off - the start offset in the array
      len - the number of bytes to write
      Returns:
      this instance
      Throws:
      IndexOutOfBoundsException - if off < 0 or off + len > bytes.length or len < 0
    • putBytes

      PrimitiveSink putBytes(ByteBuffer bytes)
      Puts the remaining bytes of a byte buffer into this sink. bytes.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.
      Parameters:
      bytes - a byte buffer
      Returns:
      this instance
      Since:
      23.0
    • putShort

      PrimitiveSink putShort(short s)
      Puts a short into this sink.
    • putInt

      PrimitiveSink putInt(int i)
      Puts an int into this sink.
    • putLong

      PrimitiveSink putLong(long l)
      Puts a long into this sink.
    • putFloat

      PrimitiveSink putFloat(float f)
      Puts a float into this sink.
    • putDouble

      PrimitiveSink putDouble(double d)
      Puts a double into this sink.
    • putBoolean

      PrimitiveSink putBoolean(boolean b)
      Puts a boolean into this sink.
    • putChar

      PrimitiveSink putChar(char c)
      Puts a character into this sink.
    • putUnencodedChars

      PrimitiveSink putUnencodedChars(CharSequence charSequence)
      Puts each 16-bit code unit from the CharSequence into this sink.

      Warning: This method will produce different output than most other languages do when running on the equivalent input. For cross-language compatibility, use putString(java.lang.CharSequence, java.nio.charset.Charset), usually with a charset of UTF-8. For other use cases, use putUnencodedChars.

      Since:
      15.0 (since 11.0 as putString(CharSequence))
    • putString

      PrimitiveSink putString(CharSequence charSequence, Charset charset)
      Puts a string into this sink using the given charset.

      Warning: This method, which reencodes the input before processing it, is useful only for cross-language compatibility. For other use cases, prefer putUnencodedChars(java.lang.CharSequence), which is faster, produces the same output across Java releases, and processes every char in the input, even if some are invalid.