--- 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