/** * Factory method for constructing UUID generator that uses specified * random number generator for constructing UUIDs according to standard * method number 3 or 5, with specified namespace (or without one if null * is specified), using specified digester. * If digester is passed as null, a SHA-1 digester will be constructed. * * @param namespace UUID that represents namespace to use; see * {@link NameBasedGenerator} for 'standard' namespaces specified by * UUID specs * @param digester Digester to use; should be a MD5 or SHA-1 digester. */ public static NameBasedGenerator nameBasedGenerator(UUID namespace, MessageDigest digester) { UUIDType type = null; if (digester == null) { try { digester = MessageDigest.getInstance("SHA-1"); type = UUIDType.NAME_BASED_SHA1; } catch (NoSuchAlgorithmException nex) { throw new IllegalArgumentException("Couldn't instantiate SHA-1 MessageDigest instance: "+nex.toString()); } } return new NameBasedGenerator(namespace, digester, type); }
/** * Factory method for constructing UUID generator that uses specified * random number generator for constructing UUIDs according to standard * method number 3 or 5, with specified namespace (or without one if null * is specified), using specified digester. * If digester is passed as null, a SHA-1 digester will be constructed. * * @param namespace UUID that represents namespace to use; see * {@link NameBasedGenerator} for 'standard' namespaces specified by * UUID specs * @param digester Digester to use; should be a MD5 or SHA-1 digester. */ public static NameBasedGenerator nameBasedGenerator(UUID namespace, MessageDigest digester) { UUIDType type = null; if (digester == null) { try { digester = MessageDigest.getInstance("SHA-1"); type = UUIDType.NAME_BASED_SHA1; } catch (NoSuchAlgorithmException nex) { throw new IllegalArgumentException("Couldn't instantiate SHA-1 MessageDigest instance: "+nex.toString()); } } return new NameBasedGenerator(namespace, digester, type); }