Class JDKRandomBridge

  • All Implemented Interfaces:
    java.io.Serializable

    public final class JDKRandomBridge
    extends java.util.Random
    Subclass of Random that delegates to a RestorableUniformRandomProvider instance but will otherwise rely on the base class for generating all the random types.

    Legacy applications coded against the JDK's API could use this subclass of Random in order to replace its linear congruential generator by any RandomSource.

    Caveat: Use of this class is not recommended for new applications. In particular, there is no guarantee that the serialized form of this class will be compatible across (even minor) releases of the library.
    Since:
    1.0
    See Also:
    Serialized Form
    • Constructor Summary

      Constructors 
      Constructor Description
      JDKRandomBridge​(RandomSource source, java.lang.Object seed)
      Creates a new instance.
    • Method Summary

      Modifier and Type Method Description
      protected int next​(int n)
      Delegates the generation of 32 random bits to the RandomSource argument provided at construction.
      void setSeed​(long seed)
      • Methods inherited from class java.util.Random

        doubles, doubles, doubles, doubles, ints, ints, ints, ints, longs, longs, longs, longs, nextBoolean, nextBytes, nextDouble, nextFloat, nextGaussian, nextInt, nextInt, nextLong
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • JDKRandomBridge

        public JDKRandomBridge​(RandomSource source,
                               java.lang.Object seed)
        Creates a new instance.
        Parameters:
        source - Source of randomness.
        seed - Seed. Can be null.
    • Method Detail

      • setSeed

        public void setSeed​(long seed)
        Overrides:
        setSeed in class java.util.Random
      • next

        protected int next​(int n)
        Delegates the generation of 32 random bits to the RandomSource argument provided at construction. The returned value is such that if the source of randomness is RandomSource.JDK, all the generated values will be identical to those produced by the same sequence of calls on a Random instance initialized with the same seed.
        Overrides:
        next in class java.util.Random
        Parameters:
        n - Number of random bits which the requested value must contain.
        Returns:
        the value represented by the n high-order bits of a pseudo-random 32-bits integer.