package cellsociety_team07.config; public class BadSimulationException extends RuntimeException{ public BadSimulationException() public BadSimulationException(String s) public BadSimulationException(String s, Throwable throwable) public BadSimulationException(Throwable throwable) } package cellsociety_team07.config; public class CellFactory { public static Cell generateBlankCell(String cellType) } package cellsociety_team07.config; public class GridFactory { public static Grid generateInitializedGrid(List initializedCells, Dimension gridDimensions, String simType) public static Grid generateRandomizedGrid(String gridShape, Dimension gridDim, String simType) public static List generateCellsOfGrid(String gridShape, Dimension gridDim, String simType) } package cellsociety_team07.config; public class Simulation { public Simulation(String fileName) public String getTitle() public String getType() public void saveCurrentState() public Grid getGrid() public List getCells() } package cellsociety_team07.config; public class SimulationXMLParser { public SimulationXMLParser(String fileName) public Dimension getGridDimensions() public String getTitle() public Document getDocument() public List getInitialCells() public String getGridShape() public String getSimulationType() public double[] getSimulationParams() } package cellsociety_team07.config; public class XMLWriterFactory { public static void saveSimData(Grid g, String simType) public static void writeRandomSimData(int height, int width, String simType, String shape) } package cellsociety_team07.simulation; public abstract class Cell extends Polygon { public void setInitialAttributes(int initialState, double[] params) public void setVertices(List vertices) public List getVertices() public void update() public abstract void applyRules(); public void setNeighbors(List neigh) public List getNeighbors() public int getCurrentState() public void setCurrentState(int state) public int getNextState() public void setNextState(int state) public Paint getColor() public Paint[] getColors() public double[] getParams() public void setParams(double[] p) } package cellsociety_team07.simulation; public interface CellFetcher { } package cellsociety_team07.simulation; public class ExperimentalCell extends Polygon{ public ExperimentalCell() public void setVertices(List vertices) public List getVertices() } package cellsociety_team07.simulation; public class FireCell extends Cell{ public FireCell() public void applyRules() } package cellsociety_team07.simulation; public class FireGrid extends Grid{ public FireGrid(List cells, Dimension gridDimensions) } package cellsociety_team07.simulation; public class GameOfLifeCell extends Cell{ public GameOfLifeCell() public void applyRules() } package cellsociety_team07.simulation; public class GameOfLifeGrid extends Grid{ public GameOfLifeGrid(List cells, Dimension gridDimensions) } package cellsociety_team07.simulation; public abstract class Grid{ public Grid(List cells, Dimension gridDimensions) public void setCellNeighbors() public void setNeighborFinder(NeighborFinder neighFinder) public List getCells() public void prepareNextState() public double numRows() public double numCols() public void update() } package cellsociety_team07.simulation; public class MapFactory { public static Map> generateVertexMap(List grid) } package cellsociety_team07.simulation; public class NeighborFinder { public static final List TOUCHING_NEIGHBORS = new ArrayList<>(Arrays.asList(1,2)); public static final List ADJACENT_NEIGHBORS = new ArrayList<>(Arrays.asList(2)); public static final List DIAGONAL_NEIGHBORS = new ArrayList<>(Arrays.asList(1)); public NeighborFinder(List allowedNumSharedVertices) public List findNeighbors(Cell cell, Map> verticeMap) } package cellsociety_team07.simulation; public class SegregationCell extends Cell{ public SegregationCell() public void applyRules(CellFetcher cm) public void applyRules() } package cellsociety_team07.simulation; public class SegregationGrid extends Grid implements CellFetcher{ public SegregationGrid(List cells, Dimension gridDimensions) public void prepareNextState() public Cell getCellOfType(int emptyState, Cell cell) } package cellsociety_team07.simulation; public class UnboundedNeighborFinder extends NeighborFinder { public UnboundedNeighborFinder(List allowedNumSharedVertices, Dimension gridDimensions) public List findNeighbors(Cell cell, Map> vertexMap) } package cellsociety_team07.simulation; public class WatorCell extends Cell{ public WatorCell() public void setInitialAttributes(int initialState, double[] props) public void applyRules() public void applyRules(CellFetcher cf) public boolean isShark() } package cellsociety_team07.simulation; public class WatorGrid extends Grid implements CellFetcher{ public WatorGrid(List cells, Dimension gridDimensions) public void prepareNextState() public Cell getCellOfType(int desiredState, Cell cell) } package cellsociety_team07.visualization; public class BorderPaneInitializer { } package cellsociety_team07.visualization; public class ButtonMaker { public ButtonMaker (ResourceBundle com, String buttonName) } package cellsociety_team07.visualization; public class CellsToVisualize { public void handle(MouseEvent mouseEvent) public void changeParam(Event e, Cell cell, double[] prob) } package cellsociety_team07.visualization; public class CommandHandler { } package cellsociety_team07.visualization; public class DataPlotter { } package cellsociety_team07.visualization; public class GraphCreator { } package cellsociety_team07.visualization; public class MenuCreator { } package cellsociety_team07.visualization; public class TextFieldCreator { public TextFieldCreator (ResourceBundle com, String textFieldName, String buttonName) } package cellsociety_team07.visualization; public class Visualizer extends Application { public void start(Stage stage) public Thread newThread(Runnable r) public void run() public void handleUserInput() }