SSJ
V. 2.6.

umontreal.iro.lecuyer.rng
Class BasicRandomStreamFactory

java.lang.Object
  extended by umontreal.iro.lecuyer.rng.BasicRandomStreamFactory
All Implemented Interfaces:
RandomStreamFactory

public class BasicRandomStreamFactory
extends Object
implements RandomStreamFactory

Represents a basic random stream factory that can constructs new instances of a given RandomStream implementation via the newInstance method. The class name of the implementation to be used must be passed to the constructor as a String, which must be the name of a nullary constructor of a RandomStream object (i.e., a constructor that has no parameters). The streams are constructed by the factory by reflection from this String.


Constructor Summary
BasicRandomStreamFactory(Class rsClass)
          Constructs a new basic random stream factory with random stream class rsClass.
 
Method Summary
 Class getRandomStreamClass()
          Returns the random stream class associated with this object.
 RandomStream newInstance()
          Constructs and returns a new random stream.
 void setRandomStreamClass(Class rsClass)
          Sets the associated random stream class to rsClass.
 String toString()
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

BasicRandomStreamFactory

public BasicRandomStreamFactory(Class rsClass)
Constructs a new basic random stream factory with random stream class rsClass. The supplied class object must represent an implementation of RandomStream and must provide a nullary constructor. For example, to construct a factory producing MRG32k3a random streams, this constructor must be called with MRG33k3a.class.

Parameters:
rsClass - the random stream class being used.
Throws:
NullPointerException - if rsClass is null.
IllegalArgumentException - if rsClass does not represent an implementation of RandomStream, or does not provide a nullary constructor.
Method Detail

getRandomStreamClass

public Class getRandomStreamClass()
Returns the random stream class associated with this object.

Returns:
the associated random stream class.

setRandomStreamClass

public void setRandomStreamClass(Class rsClass)
Sets the associated random stream class to rsClass. The supplied class object must represent an implementation of RandomStream and must provide a nullary constructor.

Parameters:
rsClass - the random stream class being used.
Throws:
NullPointerException - if rsClass is null.
IllegalArgumentException - if rsClass does not represent an implementation of RandomStream, or does not provide a nullary constructor.

newInstance

public RandomStream newInstance()
Description copied from interface: RandomStreamFactory
Constructs and returns a new random stream. If the instantiation of the random stream fails, this method throws a RandomStreamInstantiationException.

Specified by:
newInstance in interface RandomStreamFactory
Returns:
the newly-constructed random stream.

toString

public String toString()
Overrides:
toString in class Object

SSJ
V. 2.6.

To submit a bug or ask questions, send an e-mail to Pierre L'Ecuyer.