package cellsociety.util public class XMLParser { public XMLParser(File f) throws Exception public HashMap getSimulationMetadata() public ArrayList getInitialNonDefaultStates() public HashMap getSimulationParameters() } package cellsociety.simulation public class CellGrid { public CellGrid(List cells, Map configuration) protected List> getCells() protected Cell getCell(int x, int y) } package cellsociety.simulation public class Simulation { public Simulation( public double getNumCells() public String getName() public List getCells() public int getNumRows() public int getNumCols() public void step() protected void initialize(List cells) protected void commitState() } package cellsociety.simulation public class PercolationRule extends StateRule { public PercolationRule() public PercolationRule(Map parsedXML) public PercolationRule(int fillNumber) public double getFillNumber() } package cellsociety.simulation public class SegregationRule extends StateRule { public SegregationRule() public SegregationRule(Map parsedXML) public SegregationRule(double cutoffPercentage) public double getCutoffPercentage() } package cellsociety.simulation public class PercolationCell extends Cell { public PercolationCell() public PercolationCell(int state) public void computeNextCellState() } package cellsociety.simulation public class SegregationCell extends Cell { public SegregationCell() public SegregationCell(int state) public void computeNextCellState() } package cellsociety.simulation public class ConwayCell extends Cell { public ConwayCell() public ConwayCell(int state) public void computeNextCellState() } package cellsociety.simulation public class ConwayRule extends StateRule { public ConwayRule() public ConwayRule(Map parsedXML) public ConwayRule( public double getAliveNumberMin() public double getAliveNumberMax() public double getSpawnNumberMin() public double getSpawnNumberMax() } package cellsociety.simulation public abstract class StateRule {} } package cellsociety.simulation public class FireRule extends StateRule { public FireRule() public FireRule(Map parsedXML) public FireRule(double flammability) public double getFlammability() } package cellsociety.simulation public class FireCell extends Cell { public FireCell() public FireCell(int state) public void computeNextCellState() } package cellsociety.simulation public class WatorRule extends StateRule { public WatorRule() public WatorRule(Map parsedXML) public WatorRule( public double getFishBreedingCycle() public double getFishEnergyGain() public double getSharkSpawnEnergy() public double getSharkEnergyLoss() } package cellsociety.simulation public class WatorCell extends Cell { public WatorCell() public WatorCell(int state) public void computeNextCellState() public void setEnergyLevel(double energyLevel) protected void setCellState(int state) protected void setNextCellState(int state, Map values) } package cellsociety.simulation public abstract class Cell { public int getCurrentCellState() public int getEncoding() public abstract void computeNextCellState() public int getY() public int getX() public void setX(int posX) protected Cell(int cellState) protected int getNextCellState() protected void updateCellState() protected void setNextCellState(int state) protected void setCellState(int state) protected void setNextCellState(int state, Map values) protected void addNeighbor(Cell neighbor) protected void removeNeighbor(Cell neighbor) protected void setY(int posY) } package cellsociety.simulation public class SimulationFactory { public void loadSimulationFile(File file) throws Exception public Simulation getSimulation() } package cellsociety public class Main extends Application { public void start(Stage primaryStage) } package cellsociety.graphics public class GraphicalCell { public GraphicalCell(Cell simulationCell, Map colorMap, double x, double y, public void update() public Node getNode() } package cellsociety.graphics public class SimulationSelectionScene extends Scene { public SimulationSelectionScene(UIController uiController, double width, double height, } package cellsociety.graphics public class SimulationDisplayScene extends Scene { public SimulationDisplayScene( } package cellsociety.graphics public class SimulationController { public SimulationController(UIController uiController) public void loadSimulation(double displayWidth, double displayHeight) public void startSimulation() public void pauseSimulation() public void step() public void exitSimulation() public void update(double elapsedTime) public void speedUpSimulation() public void slowDownSimulation() public GraphicalCellRectangularGrid graphicalCellGridForCurrentSimulation() } package cellsociety.graphics public class UIController { public UIController(Stage primaryStage, String locale) public void setTitle(String title) public void exitSimulation() public void loadNewSimulation() public void showSimulation(SimulationController simulationController) public File selectSimulationFile() public void refresh(double elapsedTime) public void notifyUserOfException(Exception e) } package cellsociety.graphics public class GraphicalCellRectangularGrid { public GraphicalCellRectangularGrid( public void update() public Node getNode() }