Class JDKRandomBridge

  • All Implemented Interfaces:
    Serializable

    public final class JDKRandomBridge
    extends 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 Detail

      • JDKRandomBridge

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

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