package cellsociety; public class ParseXML { public ParseXML(File dataFile) public Simulation.sim getRecord() public static int NumBlocks(File xmlFile, Boolean width) public static String getString(File xmlFile, String getStr) public static void createXML(String simType, String parameters, String gridConfig, } package cellsociety; public class Animation { public void handle(MouseEvent event) } package cellsociety.simulations; public class PredatorPrey extends Simulation { public PredatorPrey(String type, List parameters, int width, int height, List initState, public String getColorKey() public void updateGrid(Grid sim_grid) } package cellsociety.simulations; public abstract class Simulation { public record sim(String type, List parameters, int width, int height, public Simulation(String type, List parameters, int width, int height, List initState, public String getType() public String getTitle() public String getAuthor() public String getDescription() public String getEdge() public String getShape() public List getParameters() public Grid getSimGrid() public void updateGrid(Grid sim_grid) public abstract String getColorKey(); } package cellsociety.simulations; public class GameOfLife extends Simulation { public GameOfLife(String type, List parameters, int width, int height, List initState, public String getColorKey() } package cellsociety.simulations; public class SegregationModel extends Simulation { public SegregationModel(String type, List parameters, int width, int height, List initState, public void updateGrid(Grid sim_grid) public String getColorKey() } package cellsociety.simulations; public class Percolation extends Simulation { public Percolation(String type, List parameters, int width, int height, List initState, public String getColorKey() } package cellsociety.simulations; public class FallingSand extends Simulation { public FallingSand(String type, List parameters, int width, int height, List initState, public String getColorKey() } package cellsociety.simulations; public class SpreadingFire extends Simulation { public SpreadingFire(String type, List parameters, int width, int height, List initState, public String getColorKey() } package cellsociety; public class Main extends Application { public static final String DATA_FILE_FOLDER public static final ResourceBundle myResources public static void initialize(Stage primaryStage) public void start(Stage primaryStage) public double getVersion() } package cellsociety.view; public class Neighborhood { public Neighborhood(int[][] neighbors) public ArrayList getPossibleNeighbors() } package cellsociety.view.cells; public class TriangularCell extends SvgButtonCell { public TriangularCell(int state, int row, int col) public void createCellShape(double cellWidth, double cellHeight) } package cellsociety.view.cells; public class RectangularCell extends Cell { public RectangularCell(int state, int row, int col) public Rectangle getCellShape() public void updateCellColor() public void createCellShape(double cellWidth, double cellHeight) } package cellsociety.view.cells; public abstract class SvgButtonCell extends Cell { public SvgButtonCell(int state, int row, int col) public void updateCellColor() public Button getCellShape() protected void initButton(double cellWidth, double cellHeight) } package cellsociety.view.cells; public class HexagonalCell extends SvgButtonCell { public HexagonalCell(int state, int row, int col) public void createCellShape(double cellWidth, double cellHeight) protected void calculateCoordinates() } package cellsociety.view.cells; public abstract class Cell { protected static int gap protected int leftOffset public Cell(int state, int row, int col) public int getCurrentState() public void setCurrentState(int currentState) public int getNextState() public void setNextState(int nextState) public int getRow() public int getCol() protected String getColorState() public abstract void updateCellColor(); public String toString() public abstract Node getCellShape(); public abstract void createCellShape(double cellWidth, double cellHeight); protected void calculateCoordinates() } package cellsociety.view; public class Grid implements Iterable { public Grid(int numOfRows, int numOfCols) public static Iterator iterateGrid(int numOfRows, int numOfCols) public static int getCellWidth() public static int getCellHeight() public Iterator iterator() public boolean hasNext() public Cell next() public void remove() public Cell[][] getCells() public int getGap() public int getNumOfCols() public int getNumOfRows() public void updateGridLayout(boolean init) public Group getCellGridLayout() public Cell getCell(Point gridLocation) } package cellsociety.view; public class UI { public UI(Grid grid, EventHandler changeSpeed, public double getSpeed() } package cellsociety.view; public class SaveMenu { public SaveMenu(String simType, String parameters, String gridString, String numCols, }