Package manifold.api.util.fingerprint
Class Fingerprint
- java.lang.Object
-
- manifold.api.util.fingerprint.Fingerprint
-
public final class Fingerprint extends Object
-
-
Constructor Summary
Constructors Constructor Description Fingerprint()Initializes this object to the fingerprint of the empty string.Fingerprint(byte[] bytes)Initializes this object to the fingerprint of the byte arraybytes, which must be non-null.Fingerprint(byte[] bytes, int start, int length)Initializes this object to the fingerprint of the bytesbytes[start]..bytes[start+length-1].Fingerprint(char[] chars)Initializes this object to the fingerprint of the character arraychars, which must be non-null.Fingerprint(char[] chars, int start, int length)Initializes this object to the fingerprint of the characterschars[start]..chars[start+length-1].Fingerprint(InputStream stream)Initializes this object to the fingerprint of the bytes instream, which must be non-null.Fingerprint(String s)Initializes this object to the fingerprint of the Strings, which must be non-null.Fingerprint(ByteBuffer buffer)Initializes this object to the fingerprint of the bytes inbuffer, which must be non-null.Fingerprint(Fingerprint fp)Initializes this fingerprint to a copy offp, which must be non-null.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(Object obj)Fingerprintextend(byte b)Extends this fingerprint by the byteb.Fingerprintextend(byte[] bytes)Extends this fingerprint by the bytesFingerprintextend(byte[] bytes, int start, int len)Extends this fingerprint by the bytesbytes[offset]..bytes[offset+length-1].Fingerprintextend(char c)Extends this fingerprint by the characterc.Fingerprintextend(char[] chars)Extends this fingerprint by the characterschars[start]..chars[start+length-1].Fingerprintextend(char[] chars, int start, int len)Extends this fingerprint by the characterschars[start]..chars[start+length-1].Fingerprintextend(int i)Extends this fingerprint by the integeri.Fingerprintextend(long i)Extends this fingerprint by the integeri.Fingerprintextend(InputStream stream)Extends this fingerprint by the bytes of the streamstream, which must be non-null.Fingerprintextend(String s)Extends this fingerprint by the characters of the Strings, which must be non-null.Fingerprintextend(ByteBuffer buffer)longgetRawFingerprint()inthashCode()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.StringtoHexString()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.StringtoString()
-
-
-
Constructor Detail
-
Fingerprint
public Fingerprint()
Initializes this object to the fingerprint of the empty string.
-
Fingerprint
public Fingerprint(Fingerprint fp)
Initializes this fingerprint to a copy offp, which must be non-null.
-
Fingerprint
public Fingerprint(String s)
Initializes this object to the fingerprint of the Strings, which must be non-null.
-
Fingerprint
public Fingerprint(char[] chars)
Initializes this object to the fingerprint of the character arraychars, which must be non-null.
-
Fingerprint
public Fingerprint(char[] chars, int start, int length)Initializes this object to the fingerprint of the characterschars[start]..chars[start+length-1].
-
Fingerprint
public Fingerprint(byte[] bytes)
Initializes this object to the fingerprint of the byte arraybytes, which must be non-null.
-
Fingerprint
public Fingerprint(byte[] bytes, int start, int length)Initializes this object to the fingerprint of the bytesbytes[start]..bytes[start+length-1].
-
Fingerprint
public Fingerprint(InputStream stream) throws IOException
Initializes this object to the fingerprint of the bytes instream, which must be non-null.- Throws:
IOException- if an error is encountered readingstream.
-
Fingerprint
public Fingerprint(ByteBuffer buffer) throws IOException
Initializes this object to the fingerprint of the bytes inbuffer, which must be non-null.- Throws:
IOException- if an error is encountered readingstream.
-
-
Method Detail
-
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
public String 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
public Fingerprint extend(String s)
Extends this fingerprint by the characters of the Strings, which must be non-null.- Returns:
- the resulting fingerprint.
-
extend
public Fingerprint extend(char[] chars)
Extends this fingerprint by the characterschars[start]..chars[start+length-1].- Returns:
- the resulting fingerprint.
-
extend
public Fingerprint extend(char[] chars, int start, int len)
Extends this fingerprint by the characterschars[start]..chars[start+length-1].- Returns:
- the resulting fingerprint.
-
extend
public Fingerprint extend(byte[] bytes, int start, int len)
Extends this fingerprint by the bytesbytes[offset]..bytes[offset+length-1].- Returns:
- the resulting fingerprint.
-
extend
public Fingerprint extend(byte[] bytes)
Extends this fingerprint by the bytes- Returns:
- the resulting fingerprint.
-
extend
public Fingerprint extend(int i)
Extends this fingerprint by the integeri.- Returns:
- the resulting fingerprint.
-
extend
public Fingerprint extend(long i)
Extends this fingerprint by the integeri.- Returns:
- the resulting fingerprint.
-
extend
public Fingerprint extend(char c)
Extends this fingerprint by the characterc.- Returns:
- the resulting fingerprint.
-
extend
public Fingerprint extend(byte b)
Extends this fingerprint by the byteb.- Returns:
- the resulting fingerprint.
-
extend
public Fingerprint extend(InputStream stream) throws IOException
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
public Fingerprint extend(ByteBuffer buffer) throws IOException
- Throws:
IOException
-
getRawFingerprint
public long getRawFingerprint()
-
-