/** Returns the number of bits in this hash code; a positive multiple of 8. */ publicabstractintbits();
/** * Returns the first four bytes of {@linkplain #asBytes() this hashcode's bytes}, converted to an * {@code int} value in little-endian order. * * @throws IllegalStateException if {@code bits() < 32} */ publicabstractintasInt();
/** * Returns the first eight bytes of {@linkplain #asBytes() this hashcode's bytes}, converted to a * {@code long} value in little-endian order. * * @throws IllegalStateException if {@code bits() < 64} */ publicabstractlongasLong();
/** * If this hashcode has enough bits, returns {@code asLong()}, otherwise returns a {@code long} * value with {@code asBytes()} as the least-significant bytes and {@code 0x00} as the remaining * most-significant bytes. * * @since 14.0 (since 11.0 as {@code Hashing.padToLong(HashCode)}) */ publicabstractlongpadToLong();
/** * Returns the value of this hash code as a byte array. The caller may modify the byte array; * changes to it will <i>not</i> be reflected in this {@code HashCode} object or any other arrays * returned by this method. */ // TODO(user): consider ByteString here, when that is available publicabstractbyte[] asBytes();