Class HashAlgorithmRegistry

java.lang.Object
net.spy.memcached.HashAlgorithmRegistry

public final class HashAlgorithmRegistry extends Object
Registry of known hashing algorithms for locating a server for a key. Useful when configuring from files using algorithm names.

Please, make sure you register your algorithm with { registerHashAlgorithm(String, HashAlgorithm) before referring to it by name

  • Field Details

  • Constructor Details

    • HashAlgorithmRegistry

      private HashAlgorithmRegistry()
  • Method Details

    • registerHashAlgorithm

      public static void registerHashAlgorithm(String name, HashAlgorithm alg)
      Registers provided HashAlgorithm instance with the given name. Name is not case sensitive. Any registered algorithm with the same name will be substituted
      Parameters:
      name - name of the algorithm
      alg - algorithm instance to register
    • lookupHashAlgorithm

      public static HashAlgorithm lookupHashAlgorithm(String name)
      Tries to find selected hash algorithm using name provided.

      Note, that lookup is being performed using name's lower-case value

      Parameters:
      name - the algorithm name to be used for lookup
      Returns:
      a HashAlgorithm instance or null if there's no algorithm with the specified name
    • validateName

      private static void validateName(String name)
      Validates name of the algorithm. A non-empty name should be provided An IllegalArgumentException is being thrown in case of incorrect name
      Parameters:
      name - a name to validate
    • validateAlgorithm

      private static void validateAlgorithm(HashAlgorithm alg)
      Validates algorithm instance. A non-null instance should be provided. An IllegalArgumentException is being thrown in case of null instance
      Parameters:
      alg - a HashAlgorithm instance to validate