Overview | Package | Class | Tree | Deprecated | Index | Help
| SSJ V. 2.1.1.
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## umontreal.iro.lecuyer.rng
Class BasicRandomStreamFactory

    java.lang.Object
      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`

Overview | Package | Class | Tree | Deprecated | Index | Help
| SSJ V. 2.1.1.
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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