package cellsociety.controller; public class MainController { public MainController(Stage stage, ResourceBundle langResourceBundle) public void startMainMenu() public void loadNewGame() public void updateModelType(String result, FileManager fileManager) public void setCellType(int cellType) public void setMyNeighborMode(int modeType) public void setMyEdgePolicy(int edgePolicy) public void updateCSS(String result) public void generateNewSimulation(File csvFile) public double getSegregationThreshold() } package cellsociety.controller; public class FileManager { public FileManager(ResourceBundle resourceBundle) public void chooseFile() public void loadFile() throws IOException public void saveCSVFile(Game myGame) public void checkFileValidity(File file) public File getCurrentTextFile() } package cellsociety.controller; public class SimulatorController { public void createNewSimulation(File csvFile) public void saveCSVFile() public String getSimFilePath() public void loadNewCSV() public void replaceWithNewCSV() public void updateModelType(String modelType) public void updateCSSFile(String result) public void setMyCSSFile(String cssFile) public void updateCellOnClick(int xCoordinate, int yCoordinate) } package cellsociety.components; public class HexagonGrid extends Grid { public HexagonGrid(int[][] states, int neighborMode, int edgePolicy) public void assignMaxCol() public void expandGrid(int left, int top, int right, int bottom) public Point getPoint(int x, int y) public Cell getBoardCell(int x, int y) } package cellsociety.components; public class SquareGrid extends Grid { public SquareGrid(int[][] states, int neighborMode, int edgePolicy) public void expandGrid(int left, int top, int right, int bottom) } package cellsociety.components; public abstract class Grid { public Grid(int[][] states, int neighborMode, int edgePolicy) public void changeEdgePolicy(int newEdgePolicy) public void changeNeighborMode(int newNeighborMode) public int getNumRows() public int getNumCols() public void setMyNumRows(int newNumRows) public void setMyNumCols(int newNumCols) public int getEdgePolicy() public int getNeighborMode() public void setNeighborRows(int[] rows) public int[] getNeighborRows() public void setNeighborCols(int[] cols) public int[] getNeighborCols() public Set getPoints() public Cell getBoardCell(int x, int y) public Cell getBoardCell(Point point) public int getCellStatus(int x, int y) public Cell getXYBoardCell(int x, int y) public abstract void expandGrid(int left, int top, int right, int bottom); } package cellsociety.components; public class TriangleGrid extends Grid { public TriangleGrid(int[][] states, int neighborMode, int edgePolicy) public void expandGrid(int left, int top, int right, int bottom) } package cellsociety.components; public class PropertiesReader { public PropertiesReader() public PropertiesReader(String filepath) public ResourceBundle getMyFile() public void setNewFilePath(String filePath) public int getIntProperty(String label) public double getDoubleProperty(String label) public int[] getIntListProperty(String label) } package cellsociety.components; public class Cell { public Cell(int statusPassedIn, int xPosition, int yPosition) public void changeStatus() public void clearNeighborCells() public void setNextStatus(int newStatus) public void setCurrentStatus(int newCurrentStatus) public void setXyPosition(int xPosition, int yPosition) public void setMiscellaneousVal(List valueList) public void setNeighborCells(List neighborCellsPassedIn) public int[] getXyPosition() public int getCurrentStatus() public List getMiscellaneousVal() public List getNeighborCells() public boolean equals(Object obj) public String toString() } package cellsociety.components.filereader; public class ReadTextFile extends ReadFile { public ReadTextFile(String filename) public int[][] read() } package cellsociety.components.filereader; public class ReadCSVFile extends ReadFile { public ReadCSVFile (String filename) public int[][] read () } package cellsociety.components.filereader; public abstract class ReadFile { public ReadFile (String filename) public String getFilename () return myFilename; } public abstract int[][] read (); } package cellsociety.components.filereader; public class ReadJSONFile extends ReadFile { public ReadJSONFile (String filename) public int[][] read () return null; } } package cellsociety; public class Main extends Application { public double getVersion() public void start(Stage primaryStage) } package cellsociety.view.gridBuilder; public class HexagonGridBuilder extends GridBuilder { public void CreateGrid(SimulatorController mySimulatorController, int gridWidth, int gridHeight, GridPane gamePane) } package cellsociety.view.gridBuilder; public class SquareGridBuilder extends GridBuilder { public void CreateGrid(SimulatorController mySimulatorController, int gridWidth, int gridHeight, GridPane gamePane) } package cellsociety.view.gridBuilder; public abstract class GridBuilder { public abstract void CreateGrid(SimulatorController mySimulatorController, int gridWidth, int gridHeight, GridPane gamePane); } package cellsociety.view.gridBuilder; public class TriangleGridBuilder extends GridBuilder { public void CreateGrid(SimulatorController mySimulatorController, int gridWidth, int gridHeight, GridPane gamePane) } package cellsociety.view; public class MainMenuView { public MainMenuView(ResourceBundle languageResourceBundle) public double getSegregationThreshold() } package cellsociety.view.cell; public class TriangleCell extends Cell { public TriangleCell(SimulatorController simulatorController, int orientation, int xCoordinate, int yCoordinate) } package cellsociety.view.cell; public class HexagonCell extends Cell { public HexagonCell(SimulatorController simulatorController, int xCoordinate, int yCoordinate) } package cellsociety.view.cell; public class SquareCell extends Cell { public SquareCell(SimulatorController simulatorController, int xCoordinate, int yCoordinate) } package cellsociety.view.cell; public abstract class Cell extends Polygon { public Cell(SimulatorController simulatorController, int xCoordinate, int yCoordinate) public Point getPoint() } package cellsociety.view; public class SimulatorView { public SimulatorView(Game game, String cssFile, ResourceBundle langResourceBundle, SimulatorController simulatorController, int cellType) public void displaySimulationInfo() public void updateCSS(String cssFile) public void step() public void pause() public void play() public void setAnimationSpeed(double speed) public void closeSimulation() } package cellsociety.view.factories.cssFactory; public class CSSFactory { public CSSFactory(ResourceBundle langResourceBundle) public void applyCSS(Scene scene, String cssFile) } package cellsociety.view.factories.sliderFactory; public class SliderFactory { public SliderFactory(double value) public Slider makeSlider(double minVal, double maxVal, ChangeListener listener) } package cellsociety.view.factories.buttonFactory; public class MainMenuButtonFactory extends ButtonFactory { } package cellsociety.view.factories.buttonFactory; public class SimulatorButtonFactory extends ButtonFactory { public SimulatorButtonFactory(SimulatorView simulatorView, SimulatorController simulatorController, ResourceBundle langResourceBundle) } package cellsociety.view.factories.buttonFactory; public abstract class ButtonFactory { public ButtonFactory() public Node generateButtonPanel() } package cellsociety.view.factories.choiceDialogBoxFactory; public abstract class ChoiceDialogBoxFactory { public ChoiceDialog generateChoiceDialogBox(String defaultChoice, ArrayList options, String resultType, String content) } package cellsociety.view.factories.choiceDialogBoxFactory; public class MainMenuChoiceDialogBoxFactory extends ChoiceDialogBoxFactory { } package cellsociety.view.factories.choiceDialogBoxFactory; public class SimulatorChoiceDialogBoxFactory extends ChoiceDialogBoxFactory { public SimulatorChoiceDialogBoxFactory(SimulatorController simulatorController, ResourceBundle langResources) } package cellsociety.error; public class GenerateError { public GenerateError(ResourceBundle langResources, String message) } package cellsociety.error; public class Error { public Error(String language) public void prepareError(String message) public void showError() public String getMyMessage() } package cellsociety.games; public class SegregationModel extends Game { public SegregationModel(String filename, double threshold) public SegregationModel(String filename, int gridType, int neighborMode, int edgePolicy, double threshold) public SegregationModel(int numRows, int numCols, double emptyRate, double agentXRate, double threshold) public SegregationModel(int numCols, int numRows, double threshold) public SegregationModel(int numCols, int numRows, int gridType, int neighborMode, int edgePolicy, double threshold) public SegregationModel(int[][] states, double threshold) public SegregationModel(SegregationModel copy) public List getEmptyCells() public void setThreshold(double newThreshold) public double getThreshold() public void update() public boolean isSatisfied(Cell cell) public boolean equals(Object o) } package cellsociety.games; public class PercolationModel extends Game { public PercolationModel(String filename) public PercolationModel(String filename, int gridType, int neighborMode, int edgePolicy) public PercolationModel(int numCols, int numRows) public PercolationModel(int numCols, int numRows, int gridType, int neighborMode, int edgePolicy) public List getOpenCells() public void update() public void changeCellOnClick(int x, int y) } package cellsociety.games; public class SpreadingFireModel extends Game { public SpreadingFireModel(String filename) public SpreadingFireModel(int numCols, int numRows) public SpreadingFireModel(int numCols, int numRows, int gridType, int neighborMode, int edgePolicy) public SpreadingFireModel(String filename, int gridType, int neighborMode, int edgePolicy) public void setProbOfFire(double probability) public void setProbGrowNewTrees(double probability) public void update() } package cellsociety.games; public class WaTorWorldModel extends Game { public WaTorWorldModel(String filename) public WaTorWorldModel(String filename, int gridType, int neighborMode, int edgePolicy) public WaTorWorldModel(int numCols, int numRows) public WaTorWorldModel(int numCols, int numRows, int gridType, int neighborMode, int edgePolicy) public void update() public void changeCellOnClick(int x, int y) } package cellsociety.games; public abstract class Game { public Game() public Game(Game copy) public Game(String filename) public Game(int[][] states) public Game(String filename, int gridType, int neighborMode, int edgePolicy) public Game(int[][] states, int gridType, int neighborMode, int edgePolicy) public Game(int numCols, int numRows) public Game(int numCols, int numRows, int gridType, int neighborMode, int edgePolicy) public int getCellStatus(int x, int y) public int getCellStatus(Point point) public int getNumRows() public int getNumCols() public Set getAllPoints() public void changeNeighborMode(int newNeighborMode) public void changeEdgePolicy(int newEdgePolicy) public void update() public void changeCellOnClick (int x, int y) public void saveCSVFile(String filename, ResourceBundle languageResource) public boolean equals(Object o) } package cellsociety.games; public class GameOfLifeModel extends Game { public GameOfLifeModel(String filename) public GameOfLifeModel(String filename, int gridType, int neighborMode, int edgePolicy) public GameOfLifeModel(GameOfLifeModel copy) public GameOfLifeModel(int[][] states) public GameOfLifeModel(int numCols, int numRows) public GameOfLifeModel(int numCols, int numRows, int gridType, int neighborMode, int edgePolicy) public void update() } package cellsociety; public class ReflectionHandler { public Method handleMethod(String name, String aClass) }