vitro
Class SimultaneousController

java.lang.Object
  extended by vitro.Controller
      extended by vitro.SimultaneousController

public class SimultaneousController
extends Controller

A Controller implementation in which every Agent has the opportunity to select an Action before any are applied. Thus, subsequent Agents will all observe the same state within a given round.


Field Summary
 
Fields inherited from class vitro.Controller
actorAgents, agents, classAgents, model
 
Constructor Summary
SimultaneousController(Model model)
          Create a new SimultaneousController to drive a specified Model.
 
Method Summary
 List<Action> nextRound()
          This method is used to determine the order in which Actions will be applied.
 
Methods inherited from class vitro.Controller
actors, annotations, bind, bind, getAction, getAgent, hasNext, hasPrev, index, next, prev, previousActions
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SimultaneousController

public SimultaneousController(Model model)
Create a new SimultaneousController to drive a specified Model.

Parameters:
model - the Model this Controller will drive.
Method Detail

nextRound

public List<Action> nextRound()
Description copied from class: Controller
This method is used to determine the order in which Actions will be applied. Controller implementations may provide different behaviors here such as evaluating Actions concurrently or sequentially. The List returned by this method is stored for rollback purposes- the Actions themselves should be applied in the body of this method.

Specified by:
nextRound in class Controller
Returns:
a record of Actions applied as the state is advanced.