Class HashAlgorithmRegistry


  • public final class HashAlgorithmRegistry
    extends java.lang.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 Detail

      • REGISTRY

        private static final java.util.Map<java.lang.String,​HashAlgorithm> REGISTRY
        Internal registry storage.
    • Constructor Detail

      • HashAlgorithmRegistry

        private HashAlgorithmRegistry()
    • Method Detail

      • registerHashAlgorithm

        public static void registerHashAlgorithm​(java.lang.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​(java.lang.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​(java.lang.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