package cellsociety.file_manipulators; public class CSVParser { public void readCSVFile(File file, String type) throws IOException, CsvValidationException public int [] getDimensions() public int [][] getInitialStates() } package cellsociety.file_manipulators; public class CSVCreator { public File createCSVFile(String name, SimulationModel model) throws IOException } package cellsociety.file_manipulators; public class SIMParser { public Map readSimFile(File file) throws IOException } package cellsociety.file_manipulators; public class SIMCreator { public void createSIMFile(String name, String csvFilePath, String type, Optional> inputs) throws IOException } package cellsociety.util; public class CellSocietyException extends RuntimeException { public CellSocietyException(String message) public CellSocietyException(String message, Exception e) public Throwable fillInStackTrace() } package cellsociety.controller; public class MainController implements PropertyChangeListener { public MainController() public Scene start(int width, int height) public void propertyChange(PropertyChangeEvent evt) throws NullPointerException public String getEdgeCase() } package cellsociety.controller; public class SimulationController implements PropertyChangeListener { public void createNewSimulation(Map data, int id, int windowCounter) public void setPropertiesData(Map data) throws CellSocietyException public void initializeSimulationModel() throws CellSocietyException public void initializeSimulationView(int windowCounter) public void updateID(int id) public void addPropertyChangeListener(PropertyChangeListener pcl) public void propertyChange(PropertyChangeEvent evt) } package cellsociety; public class Main extends Application { public void start (Stage stage) } package cellsociety.model; public abstract class SimulationModel { public SimulationModel() public void setGrids(int [] dimensions) public void addPossibleNeighbors(String neighbors) public void setGridState(int row, int column, int state) public void setStates(int[][] newStates) public int getCurrentState(int row, int column) public int getGridRows() public int getGridColumns() public void checkStates() public void setEdgeCase(String edgeCase) } package cellsociety.model; public class SegregationModel extends SimulationModel { public SegregationModel() super(); } public void checkStates() } package cellsociety.model; public class PercolationModel extends SimulationModel { public PercolationModel() } package cellsociety.model; public class Grid implements ImmutableGrid { public void createGrid(int rows, int columns, String edge) public void setState(int row, int column,int state) public void setStates(int[][] newStates) public List countNeighbors(int row, int column, int state, String possibleNeighborsIdentifier) public List countNeighborsBasic(int row, int column, int state, String possibleNeighborsIdentifier) public List countToroidalNeighbors(int row, int column, int state, String possibleNeighborsIdentifier) public List countReflectedNeighbors(int row, int column, int state, String possibleNeighborsIdentifier) public int getNumRows() public int getNumColumns() public int getCellState(int row, int column) public ArrayList getStateInstances(int state) } package cellsociety.model; public class WatorWorldModel extends SimulationModel{ public WatorWorldModel() public void setStates(int[][] newStates) public void checkStates() } package cellsociety.model; public class FireModel extends SimulationModel { public FireModel() } package cellsociety.model; public class Cell { public Cell(int initialState) public void setState(int newState) state = newState; } public int getState() } package cellsociety.model; public interface ImmutableGrid { } package cellsociety.model; public class GameOfLifeModel extends SimulationModel { public GameOfLifeModel() } package cellsociety.view; public class ViewElements { public void showError (String message) public HBox setOrientationHBox(HBox result, List children, int spacing) public VBox setOrientationVBox(VBox result, List children, int spacing) public Label makeLabel(String text, int size) public Slider makeSlider(int min, int start, int max, ChangeListener listener) public File makeFileChooser(String description, String extensions) public MenuBar makeMenuBar(String text) } package cellsociety.view; public class SimulationDisplay implements PropertyChangeListener { public SimulationDisplay() public void propertyChange(PropertyChangeEvent evt) public void setUpSimulationDisplay(int rows, int columns, Grid myGrid, int width, int height, Map properties, String type, String polygonType) throws ClassNotFoundException, InvocationTargetException, InstantiationException, IllegalAccessException, NoSuchMethodException public void setColors (String type) public void updateCellView(int row, int column, int state) public void start(int windowCounter) public void setTitle(String title) public void setPause(boolean isPaused) public void errorDisplay(String message) public void addPropertyChangeListener(PropertyChangeListener pcl) } package cellsociety.view; public class GridView { public GridView() public void setGridDisplay(int rows, int columns, String polygonType, PropertyChangeListener listener) public Group getGrid() public void setStateColor(int row, int column, Color color) public Color getStateColor(int row, int column) } package cellsociety.view; public class MainDisplay { public MainDisplay() public void errorDisplay(String message) public Scene setupDisplay(int width, int height) public void updateEdgeCase(String edgetype) public void addSimulation(String title) public void removeSimulation(int index) public void addPropertyChangeListener(PropertyChangeListener pcl) } package cellsociety.view; public class CellView { public Polygon setCellDisplay(Color color, Double[] coordinates, int row, int column) public void changeColor(Color color) public Color getColor() public Polygon getPolygon() public int getRow() public int getColumn() public void addPropertyChangeListener(PropertyChangeListener pcl) public void setOnMouseClick(int row, int column) }