Package gw.util.fingerprint
Class FP64
java.lang.Object
gw.util.fingerprint.FP64
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate longprivate static long[]private static final longprivate static final Stringprivate static final longprivate static final longprivate static final long -
Constructor Summary
ConstructorsConstructorDescriptionFP64()Initializes this object to the fingerprint of the empty string.FP64(byte[] bytes) Initializes this object to the fingerprint of the byte arraybytes, which must be non-null.FP64(byte[] bytes, int start, int length) Initializes this object to the fingerprint of the bytesbytes[start]..bytes[start+length-1].FP64(char[] chars) Initializes this object to the fingerprint of the character arraychars, which must be non-null.FP64(char[] chars, int start, int length) Initializes this object to the fingerprint of the characterschars[start]..chars[start+length-1].Initializes this fingerprint to a copy offp, which must be non-null.FP64(InputStream stream) Initializes this object to the fingerprint of the bytes instream, which must be non-null.Initializes this object to the fingerprint of the Strings, which must be non-null.FP64(ByteBuffer buffer) Initializes this object to the fingerprint of the bytes inbuffer, which must be non-null. -
Method Summary
Modifier and TypeMethodDescriptionbooleanextend(byte b) Extends this fingerprint by the byteb.extend(byte[] bytes) Extends this fingerprint by the bytesextend(byte[] bytes, int start, int len) Extends this fingerprint by the bytesbytes[offset]..bytes[offset+length-1].extend(char c) Extends this fingerprint by the characterc.extend(char[] chars) Extends this fingerprint by the characterschars[start]..chars[start+length-1].extend(char[] chars, int start, int len) Extends this fingerprint by the characterschars[start]..chars[start+length-1].extend(int i) Extends this fingerprint by the integeri.extend(long i) Extends this fingerprint by the integeri.extend(InputStream stream) Extends this fingerprint by the bytes of the streamstream, which must be non-null.Extends this fingerprint by the characters of the Strings, which must be non-null.extend(ByteBuffer buffer) longinthashCode()byte[]toBytes()Returns the value of this fingerprint as a newly-allocated array of 8 bytes.byte[]toBytes(byte[] buff) Returns the value of this fingerprint as an 8-byte array.Returns the value of this fingerprint as an unsigned integer encoded in base 16 (hexideicmal), padded with leading zeros to a total length of 16 characters.toString()
-
Field Details
-
_fp
private long _fp -
LEADING_ZEROS
- See Also:
-
Zero
private static final long Zero- See Also:
-
One
private static final long One- See Also:
-
IrredPoly
private static final long IrredPoly- See Also:
-
X63
private static final long X63- See Also:
-
ByteModTable
private static long[] ByteModTable
-
-
Constructor Details
-
FP64
public FP64()Initializes this object to the fingerprint of the empty string. -
FP64
Initializes this fingerprint to a copy offp, which must be non-null. -
FP64
Initializes this object to the fingerprint of the Strings, which must be non-null. -
FP64
public FP64(char[] chars) Initializes this object to the fingerprint of the character arraychars, which must be non-null. -
FP64
public FP64(char[] chars, int start, int length) Initializes this object to the fingerprint of the characterschars[start]..chars[start+length-1]. -
FP64
public FP64(byte[] bytes) Initializes this object to the fingerprint of the byte arraybytes, which must be non-null. -
FP64
public FP64(byte[] bytes, int start, int length) Initializes this object to the fingerprint of the bytesbytes[start]..bytes[start+length-1]. -
FP64
Initializes this object to the fingerprint of the bytes instream, which must be non-null.- Throws:
IOException- if an error is encountered readingstream.
-
FP64
Initializes this object to the fingerprint of the bytes inbuffer, which must be non-null.- Throws:
IOException- if an error is encountered readingstream.
-
-
Method Details
-
toBytes
public byte[] toBytes()Returns the value of this fingerprint as a newly-allocated array of 8 bytes.Important: If the output of this function is subsequently fingerprinted, the probabilistic guarantee is lost. That is, there is a much higher liklihood of fingerprint collisions if fingerprint values are themselves fingerprinted in any way.
-
toBytes
public byte[] toBytes(byte[] buff) Returns the value of this fingerprint as an 8-byte array. UnliketoBytes(), this variant does not perform an allocation. Instead, the client passes in a buffer into which the fingerprint value is written. This can be used to get the values of a set of fingerprints without having to perform an allocation for each one.- Parameters:
buff- The buffer into which the bytes will be written. This array is required to be non-null and exactly 8 bytes in length. This buffer is returned.
-
toHexString
Returns the value of this fingerprint as an unsigned integer encoded in base 16 (hexideicmal), padded with leading zeros to a total length of 16 characters.Important: If the output of this function is subsequently fingerprinted, the probabilistic guarantee is lost. That is, there is a much higher liklihood of fingerprint collisions if fingerprint values are themselves fingerprinted in any way.
-
extend
Extends this fingerprint by the characters of the Strings, which must be non-null.- Returns:
- the resulting fingerprint.
-
extend
Extends this fingerprint by the characterschars[start]..chars[start+length-1].- Returns:
- the resulting fingerprint.
-
extend
Extends this fingerprint by the characterschars[start]..chars[start+length-1].- Returns:
- the resulting fingerprint.
-
extend
Extends this fingerprint by the bytesbytes[offset]..bytes[offset+length-1].- Returns:
- the resulting fingerprint.
-
extend
Extends this fingerprint by the bytes- Returns:
- the resulting fingerprint.
-
extend
Extends this fingerprint by the integeri.- Returns:
- the resulting fingerprint.
-
extend
Extends this fingerprint by the integeri.- Returns:
- the resulting fingerprint.
-
extend
Extends this fingerprint by the characterc.- Returns:
- the resulting fingerprint.
-
extend
Extends this fingerprint by the byteb.- Returns:
- the resulting fingerprint.
-
extend
Extends this fingerprint by the bytes of the streamstream, which must be non-null.- Returns:
- the resulting fingerprint.
- Throws:
IOException- if an error is encountered readingstream.
-
extend
- Throws:
IOException
-
hashCode
public int hashCode() -
equals
-
getRawFingerprint
public long getRawFingerprint() -
toString
-