Class Fingerprint

java.lang.Object
manifold.api.util.fingerprint.Fingerprint

public final class Fingerprint extends Object
  • Constructor Summary

    Constructors
    Constructor
    Description
    Initializes this object to the fingerprint of the empty string.
    Fingerprint(byte[] bytes)
    Initializes this object to the fingerprint of the byte array bytes, which must be non-null.
    Fingerprint(byte[] bytes, int start, int length)
    Initializes this object to the fingerprint of the bytes bytes[start]..bytes[start+length-1].
    Fingerprint(char[] chars)
    Initializes this object to the fingerprint of the character array chars, which must be non-null.
    Fingerprint(char[] chars, int start, int length)
    Initializes this object to the fingerprint of the characters chars[start]..chars[start+length-1].
    Initializes this object to the fingerprint of the bytes in stream, which must be non-null.
    Initializes this object to the fingerprint of the String s, which must be non-null.
    Initializes this object to the fingerprint of the bytes in buffer, which must be non-null.
    Initializes this fingerprint to a copy of fp, which must be non-null.
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
     
    extend(byte b)
    Extends this fingerprint by the byte b.
    extend(byte[] bytes)
    Extends this fingerprint by the bytes
    extend(byte[] bytes, int start, int len)
    Extends this fingerprint by the bytes bytes[offset]..bytes[offset+length-1].
    extend(char c)
    Extends this fingerprint by the character c.
    extend(char[] chars)
    Extends this fingerprint by the characters chars[start]..chars[start+length-1].
    extend(char[] chars, int start, int len)
    Extends this fingerprint by the characters chars[start]..chars[start+length-1].
    extend(int i)
    Extends this fingerprint by the integer i.
    extend(long i)
    Extends this fingerprint by the integer i.
    Extends this fingerprint by the bytes of the stream stream, which must be non-null.
    Extends this fingerprint by the characters of the String s, which must be non-null.
     
    long
     
    int
     
    byte[]
    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.
     

    Methods inherited from class Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • Fingerprint

      public Fingerprint()
      Initializes this object to the fingerprint of the empty string.
    • Fingerprint

      public Fingerprint(Fingerprint fp)
      Initializes this fingerprint to a copy of fp, which must be non-null.
    • Fingerprint

      public Fingerprint(String s)
      Initializes this object to the fingerprint of the String s, which must be non-null.
    • Fingerprint

      public Fingerprint(char[] chars)
      Initializes this object to the fingerprint of the character array chars, which must be non-null.
    • Fingerprint

      public Fingerprint(char[] chars, int start, int length)
      Initializes this object to the fingerprint of the characters chars[start]..chars[start+length-1].
    • Fingerprint

      public Fingerprint(byte[] bytes)
      Initializes this object to the fingerprint of the byte array bytes, which must be non-null.
    • Fingerprint

      public Fingerprint(byte[] bytes, int start, int length)
      Initializes this object to the fingerprint of the bytes bytes[start]..bytes[start+length-1].
    • Fingerprint

      public Fingerprint(InputStream stream) throws IOException
      Initializes this object to the fingerprint of the bytes in stream, which must be non-null.
      Throws:
      IOException - if an error is encountered reading stream.
    • Fingerprint

      public Fingerprint(ByteBuffer buffer) throws IOException
      Initializes this object to the fingerprint of the bytes in buffer, which must be non-null.
      Throws:
      IOException - if an error is encountered reading stream.
  • 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. Unlike toBytes(), 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 String s, which must be non-null.
      Returns:
      the resulting fingerprint.
    • extend

      public Fingerprint extend(char[] chars)
      Extends this fingerprint by the characters chars[start]..chars[start+length-1].
      Returns:
      the resulting fingerprint.
    • extend

      public Fingerprint extend(char[] chars, int start, int len)
      Extends this fingerprint by the characters chars[start]..chars[start+length-1].
      Returns:
      the resulting fingerprint.
    • extend

      public Fingerprint extend(byte[] bytes, int start, int len)
      Extends this fingerprint by the bytes bytes[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 integer i.
      Returns:
      the resulting fingerprint.
    • extend

      public Fingerprint extend(long i)
      Extends this fingerprint by the integer i.
      Returns:
      the resulting fingerprint.
    • extend

      public Fingerprint extend(char c)
      Extends this fingerprint by the character c.
      Returns:
      the resulting fingerprint.
    • extend

      public Fingerprint extend(byte b)
      Extends this fingerprint by the byte b.
      Returns:
      the resulting fingerprint.
    • extend

      public Fingerprint extend(InputStream stream) throws IOException
      Extends this fingerprint by the bytes of the stream stream, which must be non-null.
      Returns:
      the resulting fingerprint.
      Throws:
      IOException - if an error is encountered reading stream.
    • extend

      public Fingerprint extend(ByteBuffer buffer) throws IOException
      Throws:
      IOException
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • getRawFingerprint

      public long getRawFingerprint()
    • toString

      public String toString()
      Overrides:
      toString in class Object