package org.lucci.madhoc.simulation.random;
import org.lucci.madhoc.simulation.Configurable;
import org.lucci.madhoc.simulation.Simulation;
public class RandomNumberGenerator extends org.lucci.math.random.RandomNumberGenerator implements Configurable
{
private Simulation simulation;
public void configure() throws Throwable
{
String seed = getSimulation().getConfiguration().getString("random_number_generator_seed");
if (seed.equalsIgnoreCase("time"))
{
setSeedingMode(RandomNumberGenerator.BASED_ON_LOCAL_TIME);
}
else if (seed.equalsIgnoreCase("ip"))
{
setSeedingMode(RandomNumberGenerator.BASED_ON_LOCAL_IP);
}
else if (seed.equalsIgnoreCase("time+ip"))
{
setSeedingMode(RandomNumberGenerator.BASED_ON_LOCAL_TIME_AND_IP);
}
else
{
getRandom().setSeed(seed.hashCode());
}
}
public Simulation getSimulation()
{
return simulation;
}
public void setSimulation(Simulation simulation)
{
this.simulation = simulation;
}
}