RFR: 8279598: Provide adapter from RandomGenerator to Random
Stuart Marks
smarks at openjdk.java.net
Wed Jan 26 17:47:35 UTC 2022
On Sat, 8 Jan 2022 21:00:37 GMT, Yasser Bazzi <duke at openjdk.java.net> wrote:
> Hi, could i get a review on this implementation proposed by Stuart Marks, i decided to use the https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/random/RandomGenerator.html interface to create the default method `asRandom()` that wraps around the newer algorithms to be used on classes that do not accept the new interface.
>
> Some things to note as proposed by the bug report, the protected method next(int bits) is not overrided and setSeed() method if left blank up to discussion on what to do with it.
>
> Small test done on https://gist.github.com/YShow/da678561419cda8e32fccf3a27a649d4
src/java.base/share/classes/jdk/internal/util/random/RandomWrapper.java line 41:
> 39: @SuppressWarnings("serial")
> 40: public class RandomWrapper extends Random implements RandomGenerator {
> 41: private final RandomGenerator randomToWrap;
Suggest renaming the field to "generator" and replacing subsequent calls to `this.randomToWrap.foo()` with `generator.foo()`.
src/java.base/share/classes/jdk/internal/util/random/RandomWrapper.java line 47:
> 45: }
> 46:
> 47: public static Random wrapRandom(RandomGenerator random) {
Probably better if the method is just `wrap` since the class name is descriptive enough already.
-------------
PR: https://git.openjdk.java.net/jdk/pull/7001
More information about the core-libs-dev
mailing list