src/java.base/share/classes/java/util/Random.java
branchJDK-8193209-branch
changeset 57671 6a4be8bf8990
parent 57547 56cbdc3ea079
child 57684 7cb325557832
--- a/src/java.base/share/classes/java/util/Random.java	Fri Jul 26 15:37:05 2019 -0300
+++ b/src/java.base/share/classes/java/util/Random.java	Wed Aug 07 15:35:55 2019 -0300
@@ -31,18 +31,13 @@
 import java.math.BigInteger;
 import java.util.concurrent.atomic.AtomicLong;
 import java.util.function.DoubleConsumer;
-import java.util.function.Function;
 import java.util.function.IntConsumer;
 import java.util.function.LongConsumer;
-import java.util.Objects;
 import java.util.random.RandomGenerator;
 import java.util.random.RandomSupport;
 import java.util.random.RandomSupport.AbstractSpliteratorGenerator;
 import java.util.random.RandomSupport.RandomSpliterator;
-import java.util.ServiceLoader;
-import java.util.ServiceLoader.Provider;
 import java.util.Spliterator;
-import java.util.stream.Collectors;
 
 /**
  * An instance of this class is used to generate a stream of
@@ -501,47 +496,6 @@
     }
 
     /**
-     * Creates a new random number generator that uses the random number generator algorithm
-     * specified by name. The seed of the random number generator to a value very likely to be
-     * distinct from any other invocation.
-     *
-     * @param name  name of random number generator algorithm to use.
-     *
-     * @return an instance of random number generator.
-     *
-     * @throws IllegalArgumentException if {@code name} is an unknown random number generator
-     *
-     * @since 14
-     */
-    public static RandomGenerator byName(String name) throws IllegalArgumentException {
-        Objects.requireNonNull(name);
-        Map<String, Provider<RandomGenerator>> rngs = getGeneratorMap();
-        Provider<RandomGenerator> provider = rngs.get(name.toUpperCase());
-        if (provider == null) {
-            throw new IllegalArgumentException(name + " is an unknown random number generator");
-        }
-        return provider.get();
-    }
-
-    private static Map<String, Provider<RandomGenerator>> rngMap;
-
-    private static Map<String, Provider<RandomGenerator>> getGeneratorMap() {
-        if (rngMap == null) {
-            synchronized (Random.class) {
-                if (rngMap == null) {
-                    rngMap = ServiceLoader
-                            .load(RandomGenerator.class)
-                            .stream()
-                            .filter(p -> !p.type().isInterface())
-                            .collect(Collectors.toMap(p -> p.type().getSimpleName().toUpperCase(),
-                                    Function.identity()));
-                }
-            }
-        }
-        return rngMap;
-    }
-
-    /**
      * Serializable fields for Random.
      *
      * @serialField    seed long