// @topic S-0303-03-02-80 Java Abstract Factory // @brief class SimulationScenario uses abstract factory package factory; import java.util.ArrayList; public class SimulationScenario { IFactoryVisitor factory; ArrayList< Visitor > visitors = new ArrayList< Visitor >(); public SimulationScenario( IFactoryVisitor factory ) { this.factory = factory; } public void createVisitors( int visitorCount ) { while ( visitorCount-- > 0 ) { visitors.add( factory.createVisitor() ); } } public void setFactory(IFactoryVisitor factory) { this.factory = factory; } public void play() {} public void pause() {} public void stop() {} }