/* Copyright 2006 by Sean Luke and George Mason University Licensed under the Academic Free License version 3.0 See the file "LICENSE" for more information */ package sim.engine; /** An interface for classes capable of creating SimState subclasses. Typically you wouldn't use this interface; but rather it is used internaly in the SimState.doLoop methods. */ public interface MakesSimState { /** Creates a SimState subclass with the given random number seed and command-line arguments passed into main(...). */ public SimState newInstance(long seed, String[] args); /** Returns the class of the SimState subclass that will be generated. */ public Class simulationClass(); }