org.jcheck.generator
Class NullGen<T>

java.lang.Object
  extended by org.jcheck.generator.NullGen<T>
All Implemented Interfaces:
Gen<T>

public class NullGen<T>
extends java.lang.Object
implements Gen<T>

Generate null instead of objects with a given probability.


Constructor Summary
NullGen(Gen<T> generator, double probability)
          Construct a generator that will generate null with the supplied probability instead of objects from the given generator.
 
Method Summary
 T arbitrary(java.util.Random random, long size)
           Returns an arbitrary object of type T.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NullGen

public NullGen(Gen<T> generator,
               double probability)
Construct a generator that will generate null with the supplied probability instead of objects from the given generator.

Parameters:
generator - generator for objects
probability - probability that the object will be null instead of an object from the given generator
Method Detail

arbitrary

public T arbitrary(java.util.Random random,
                   long size)
Description copied from interface: Gen

Returns an arbitrary object of type T. The object should not have a size greater than size (or smaller than -size). What the size actually referrs to depends on the implementation, but it could be the number of nodes in a tree, pixels in an image etc.

The supplied random generator should be the only source of randomness used in the generator.

Specified by:
arbitrary in interface Gen<T>
Parameters:
random - the random generator that should be used when randomness is needed.
size - the limiting factor
Returns:
a random object