package cellsociety.parser; public class CSVParser extends Parser { public GridWrapper parseData(String csvPath) throws IllegalStateException public String[] parseFirstLine(String csvPath) throws IllegalStateException public void saveCurrentGrid(GridWrapper grid, File file) throws IllegalStateException } package cellsociety.parser; public abstract class Parser { public abstract GridWrapper parseData(String csvPath) throws IllegalStateException; } package cellsociety.controller; public class CellSocietyController { public CellSocietyController(File simFile) throws IllegalStateException public void getSimData() throws IllegalStateException public void loadSimulation(Stage stage) public Properties getProperties() public void updateOneCell(int y, int x, int state) public GridWrapper getViewGrid() public void setBackEndCellsByID(Map backEndCellsByID) public GridWrapper updateGrid() throws IllegalStateException public void resetController() throws IllegalStateException public void saveGrid(File file) throws IllegalStateException } package cellsociety; public class Main extends Application { public void start(Stage stage) } package cellsociety.model; public class AdjacencyListHexagon extends AdjacencyList { public AdjacencyListHexagon(GridWrapper inputLayout, Map cells, protected void initializeNeighbors() } package cellsociety.model.cells; public class PercolationCell extends Cell { public PercolationCell(int state, Point id) public void setFutureState(List neighbors) throws IllegalStateException } package cellsociety.model.cells; public class SegregationCell extends Cell { public SegregationCell(int state, Point id, double parameter) public void setFutureState(List neighbors) throws IllegalStateException public boolean getWantsToMove() } package cellsociety.model.cells; public class FireCell extends Cell { public FireCell(int state, Point id, double parameter) throws IllegalStateException public void setFutureState(List neighbors) throws IllegalStateException } package cellsociety.model.cells; public class WatorWorldCell extends Cell { public WatorWorldCell(int state, Point id) public void swapCells(Cell cellToSwap) public int getState() public boolean readyToReproduce() public boolean readyToDie() public void setSharkStarve(int input) public void resetStateParameters() public void setFishTurns(int input) public void setFutureState(List neighbors) throws IllegalStateException public void setWATER() public void setFISH() public void setSHARK() public void setINTERMEDIATESHARK() public int getFishTurns() public int getSharkTurns() } package cellsociety.model.cells; public class RockPaperScissorCell extends Cell { public RockPaperScissorCell(int state, Point id) public void setFutureState(List neighbors) throws IllegalStateException } package cellsociety.model.cells; public class GameOfLifeCell extends Cell { public GameOfLifeCell(int state, Point id) public void setFutureState(List neighbors) throws IllegalStateException } package cellsociety.model.cells; public class Cell { public Cell(int state, Point id) throws IllegalStateException public int getCurrentState() public int getFutureState() public void setCurrentState(int state) public void setFutureState(List neighbors) throws IllegalStateException public void setFutureStateValue(int nextState) public void setId(Point id) public Point getId() public void swapCellStates(Cell cellToSwap) public void swapCells(Cell cellToSwap) public List getNeighborStates(List neighbors) } package cellsociety.model.cells; public class FallingSandCell extends Cell { public FallingSandCell(int state, Point id) public Cell getNeighborToSwap() public boolean wantsToSwap() public void setFutureState(List neighbors) throws IllegalStateException public void rulesUPPERSAND() public void rulesLOWERSAND() public void rulesLEFTSAND() public void rulesRIGHTSAND() public void rulesUPPERWATER() public void rulesLOWERWATER() public void rulesLEFTWATER() public void rulesRIGHTWATER() public void rulesUPPEREMPTY() public void rulesUPPERBOUNDARY() public void rulesLOWERBOUNDARY() } package cellsociety.model; public class AdjacencyList { public AdjacencyList(GridWrapper inputLayout, Map cells, protected void initializeNeighbors() protected void createNeighborhood(Point cell, Point currId, Neighborhood simulationNeighbors, public static boolean isOnEdges(int row, int col, GridWrapper gridWrapper) protected static boolean isInBounds(Point point, GridWrapper gridWrapper) public List getCells() protected GridWrapper getInputLayout() protected Map> getAdjacencyList() protected Map getCellMap() protected int getRowCount() protected int getRowSize() protected Neighborhood getSimulationNeighbors() public List getNeighbors(Cell cell) } package cellsociety.model.neighborhoods; public class Neighborhood { public List getNeighborHood() public void setNeighborHood(List neighborHood) public Neighborhood() public boolean countNeighbor(int neighborNumber) } package cellsociety.model.neighborhoods; public class CompleteNeighborhood extends Neighborhood { public CompleteNeighborhood() } package cellsociety.model.neighborhoods; public class NoDiagonalNeighborhood extends Neighborhood { public NoDiagonalNeighborhood() } package cellsociety.model.grids; public class WatorWorldGraphGrid extends SwappedCellsGraphGrid { public WatorWorldGraphGrid(GridWrapper gridParsing, Properties properties) public Cell moveShark(Cell sharkCell) public Cell moveFish(Cell fishCell) } package cellsociety.model.grids; public class GameOfLifeGraphGrid extends GraphGrid { public GameOfLifeGraphGrid(GridWrapper gridParsing, Properties properties) } package cellsociety.model.grids; public class FireGraphGrid extends GraphGrid { public FireGraphGrid(GridWrapper gridParsing, Properties properties) } package cellsociety.model.grids; public class SegregationGraphGrid extends SwappedCellsGraphGrid { public SegregationGraphGrid(GridWrapper gridParsing, Properties properties) } package cellsociety.model.grids; public class PercolationGraphGrid extends GraphGrid { public PercolationGraphGrid(GridWrapper gridParsing, Properties properties) } package cellsociety.model.grids; public abstract class Grid { public void setCellCurrentState(Point key, int state) public Map getCells() } package cellsociety.model.grids; public class RockPaperScissorGraphGrid extends GraphGrid { public RockPaperScissorGraphGrid(GridWrapper gridParsing, Properties properties) } package cellsociety.model.grids; public class GraphGrid extends Grid { public GraphGrid(GridWrapper gridParsing, Properties properties) throws IllegalStateException public List getEmptyCells() public void setEmptyCells(List emptyCells) protected AdjacencyList getMyAdjacencyList() public void setMyAdjacencyList(AdjacencyList myAdjacencyList) public Neighborhood getSimulationNeighbors() public void setSimulationNeighbors(Neighborhood simulationNeighbors) public void setCellCurrentState(Point key, int state) public Neighborhood setNeighbors(String simType) public static boolean isInBounds(int row, int col, GridWrapper gridWrapper) public Map getCells() public List representStatesAsList(Map inputCells) } package cellsociety.model.grids; public class SwappedCellsGraphGrid extends GraphGrid { public SwappedCellsGraphGrid(GridWrapper gridParsing, Properties properties) public Cell findCellToSwap(Cell startingCell, List locations, int targetState) public Cell findCellToSwap(Cell cellToSwap, List locations) } package cellsociety.model.grids; public class FallingSandGraphGrid extends SwappedCellsGraphGrid { public FallingSandGraphGrid(GridWrapper gridParsing, Properties properties) } package cellsociety.model; public class GridWrapper { public GridWrapper(int row, int column) public GridWrapper(int numStates, String[] initialProportions) public GridWrapper() public GridWrapper(int numStates) public int getState(int row, int column) public void setState(int row, int columnIndex, int state) public void addRow() public void addValueToRow(int row, int value) public int getRowCount() public int getRowSize(int row) public Object[] toArray() public List> getGrid() } package cellsociety.model; public class InitialModelImplementation extends Model { public InitialModelImplementation(GridWrapper gridWrapper, Properties simParameters) public void setCellCurrentState(Point key, int state) public Map getCells() } package cellsociety.model; public class AdjacencyListToroidal extends AdjacencyList { public AdjacencyListToroidal(GridWrapper inputLayout, Map cells, protected void createNeighborhood(Point cell, Point currId, Neighborhood simulationNeighbors, } package cellsociety.model; public abstract class Model { public void setCellCurrentState(Point key, int state) public Map getCells() } package cellsociety.view; public abstract class SceneCreator { public static final String DEFAULT_RESOURCE_PACKAGE public SceneCreator(double size, Stage stage) public Scene createScene(String css) public Scene createScene(String language, String css) protected Pane setUpRootPane() protected File getMyDataFile() protected void setMyDataFile(File myDataFile) protected double getMySize() protected void showMessage(Alert.AlertType type, String message, Exception e) protected String getLanguage() protected ResourceBundle getResource() protected void setResource(ResourceBundle myResource) protected ResourceBundle getMyCommands() } package cellsociety.view; public class ImageMap { public ImageMap() public void addImage(Image image) public Image getImage(int state) public int getStateCount() } package cellsociety.view; public class CellViewSquare extends CellView { public CellViewSquare(int state, ColorMap colors) public CellViewSquare(int state, ImageMap images) public void updateSize(double size) protected double getShapeSize() } package cellsociety.view; public class Hexagon extends Polygon { public Hexagon() public void setSize(double size) } package cellsociety.view; public class GridViewSquare extends GridView { public GridViewSquare(CellSocietyController controller) } package cellsociety.view; public class GridScreen extends SceneCreator { public GridScreen(double size, Stage stage, CellSocietyController controller) public Pane setUpRootPane() protected Button makeButton(String property) public GridView getCurrentView() } package cellsociety.view; public class FileInput extends SceneCreator { public static final String DATA_FILE_FOLDER public final static FileChooser FILE_CHOOSER public FileInput(double size, Stage stage) public Pane setUpRootPane() protected Button makeButton(String property) public void uploadFile() throws IllegalStateException } package cellsociety.view; public abstract class GridView { public static final ResourceBundle CELL_VIEW_RESOURCES public GridView(CellSocietyController controller) public void setUpGridViewSize() public void updateCellWidth(int x, int y, double size) public void setUpView(GridWrapper gridData) protected void createCell(GridWrapper gridData, int y, int x) public void updateGrid(GridWrapper gridData) protected ColorMap getColors() protected ImageMap getImages() protected Boolean isUsingColors() protected Boolean isSetBorder() protected List> getCells() protected CellSocietyController getController() protected DoubleProperty getWidthProperty() protected DoubleProperty getHeightProperty() protected DoubleProperty getSizeProperty() protected IntegerProperty getRow() protected IntegerProperty getColumn() public GridPane getGrid() public HashMap getCurrentStates() protected HashSet getStateTypes() } package cellsociety.view; public class GridViewHexagon extends GridView { public GridViewHexagon(CellSocietyController controller) protected void createCell(GridWrapper gridData, int y, int x) public void setUpGridViewSize() } package cellsociety.view; public class CellViewHexagon extends CellView { public CellViewHexagon(int state, ColorMap colors) public CellViewHexagon(int state, ImageMap images) public void updateSize(double size) } package cellsociety.view; public abstract class CellView extends StackPane { public CellView(int state) public CellView(int state, ImageMap images) public CellView(int state, ColorMap colors) public int getState() public void setOnClick() public void updateSize(double size) public void showBorder() protected double getShapeSize() protected Shape getShapePolygon() protected void setPolygon(Shape shape) } package cellsociety.view; public class Histogram { public Histogram(GridView theGrid) public void makeBarGraph() public void makeLineGraph(Timeline time) public void updateBarGraph() public void updateLineGraph(Timeline timeline) public void shutDown() } package cellsociety.view; public class ColorMap { public ColorMap() public void addColor(Color color) public Color getColor(int state) public int getStateCount() } package cellsociety.view; public class SplashScreen extends SceneCreator { public static final String DEFAULT_RESOURCE_PACKAGE public SplashScreen(double size, Stage stage) public Pane setUpRootPane() protected Button makeButton(String property) }