gov.sandia.cognition.util.Randomized Maven / Gradle / Ivy
/*
* File: Randomized.java
* Authors: Justin Basilico
* Company: Sandia National Laboratories
* Project: Cognitive Foundry
*
* Copyright September 26, 2007, Sandia Corporation. Under the terms of Contract
* DE-AC04-94AL85000, there is a non-exclusive license for use of this work by
* or on behalf of the U.S. Government. Export of this program may require a
* license from the United States Government. See CopyrightHistory.txt for
* complete details.
*
*
*/
package gov.sandia.cognition.util;
import java.util.Random;
/**
* The {@code Randomized} interface defines the functionality of an object
* whose computations are based in part on an underlying random number
* generator (a {@code Random} object). If an object implements this interface
* it should not make use of {@code Math.random()}.
*
* @author Justin Basilico
* @since 2.0
*/
public interface Randomized
{
/**
* Gets the random number generator used by this object.
*
* @return The random number generator used by this object.
*/
Random getRandom();
/**
* Sets the random number generator used by this object.
*
* @param random The random number generator for this object to use.
*/
void setRandom(
Random random);
}