Class HashCodeHasher

java.lang.Object
org.tribuo.hash.Hasher
org.tribuo.hash.HashCodeHasher
All Implemented Interfaces:
com.oracle.labs.mlrg.olcut.config.Configurable, com.oracle.labs.mlrg.olcut.provenance.Provenancable<com.oracle.labs.mlrg.olcut.provenance.ConfiguredObjectProvenance>, Serializable, ProtoSerializable<org.tribuo.protos.core.HasherProto>

public final class HashCodeHasher extends Hasher
Hashes names using String.hashCode().

HashCodeHasher does not serialize the salt in its serialized forms, and thus the salt must be set after deserialization.

See Also:
  • Field Details

    • CURRENT_VERSION

      public static final int CURRENT_VERSION
      Protobuf serialization version.
      See Also:
  • Constructor Details

    • HashCodeHasher

      public HashCodeHasher(String salt)
      Constructs a HashCodeHasher using the specified salt value.
      Parameters:
      salt - The salt value.
  • Method Details

    • deserializeFromProto

      public static HashCodeHasher deserializeFromProto(int version, String className, com.google.protobuf.Any message)
      Deserialization factory.

      Note the salt must be set after the hasher has been deserialized.

      Parameters:
      version - The serialized object version.
      className - The class name.
      message - The serialized data.
      Returns:
      The deserialized object.
    • serialize

      public org.tribuo.protos.core.HasherProto serialize()
      Description copied from interface: ProtoSerializable
      Serializes this object to a protobuf.
      Returns:
      The protobuf.
    • hash

      public String hash(String name)
      Description copied from class: Hasher
      Hashes the supplied input using the hashing function.

      If the salt is not set then this throws IllegalStateException.

      Specified by:
      hash in class Hasher
      Parameters:
      name - The input to hash.
      Returns:
      A String representation of the hashed output.
    • postConfig

      public void postConfig() throws com.oracle.labs.mlrg.olcut.config.PropertyException
      Used by the OLCUT configuration system, and should not be called by external code.
      Throws:
      com.oracle.labs.mlrg.olcut.config.PropertyException
    • setSalt

      public void setSalt(String salt)
      Description copied from class: Hasher
      The salt is transient, it must be set **to the same value as it was trained with** after the Model is deserialized.
      Specified by:
      setSalt in class Hasher
      Parameters:
      salt - Salt value.
    • getProvenance

      public com.oracle.labs.mlrg.olcut.provenance.ConfiguredObjectProvenance getProvenance()
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object