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

Reply via email to