On Sat, 8 Jan 2022 21:00:37 GMT, Yasser Bazzi <[email protected]> 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
