package cellsociety.fileinfos; public class FileInfoXMLExtended extends FileInfoXML { public FileInfoXMLExtended(File file, String language) protected void loadInitialConfiguration() protected void makeRandomInitialConditionsArray(String[] stringArray) } package cellsociety.fileinfos; public class FileInfoXML extends FileInfo { public FileInfoXML(File file, String language) protected void createXMLElement(File file) throws SAXException, ParserConfigurationException protected void loadXMLContentsInClass() throws XMLTagNotFoundException, InvalidNumberException, protected void loadBiographicalInformation() throws XMLTagNotFoundException, XMLContentIsEmptyException protected int getIntegerTag(String tagName) throws XMLTagNotFoundException, InvalidNumberException, protected void loadInitialConfiguration() protected void makeInitialConditionsArray(String[] stringArray) protected String getValuesAsText(String tagName) protected void loadExtraInformation() throws NumberFormatException protected String removeStringBlankspace(String theString) protected void loadNumericalInformation() } package cellsociety; public abstract class FileInfo { public FileInfo(String language) public String getType() public String getTitle() public String getAuthor() public String getDescription() public int[][] getInitialConfigurations() public String getInitialConditionsAsString() public int getWidth() public int getHeight() public double[] getExtraParameter() protected abstract void loadInitialConfiguration() throws Exception; protected abstract void loadBiographicalInformation() throws Exception; protected abstract void loadNumericalInformation() throws Exception; protected abstract void loadExtraInformation() throws Exception; } package cellsociety; public abstract class Simulation { public Simulation() public Simulation(double[] extraValues) protected abstract void checkRules(Grid grid, int rowIndex, int colIndex); public void setRunSpeed(double speedToSet) public double getRunSpeed() public void pause() public void makeRunnable() public boolean checkIfRunning() public void runSimulation(GridView gridV) protected Neighborhood decideNeighborhood(String neighborhoodType) protected Neighborhood getNeighborhood() protected void setNeighborhood(String neighborhoodType) throws NeighborhoodNotFoundException protected double[] getExtraParameters() } package cellsociety.neighborhoods; public interface Neighborhood { public int calculateActiveNeighbours(int rowIndex, int colIndex, int desiredState, Grid grid); public int calculateTotalNeighbours(int rowIndex, int colIndex, Grid grid); } package cellsociety.neighborhoods; public class MooreNeighborhood implements Neighborhood { public int calculateActiveNeighbours(int rowIndex, int colIndex, int desiredState, Grid grid) public int calculateTotalNeighbours(int rowIndex, int colIndex, Grid grid) } package cellsociety; public class Grid { public Grid(FileInfo file) public int getRows() public int getCols() public CellView getCell(int row, int col) public int cellState(int r, int c) public int nextCellState(int r, int c) public void setCellNextState(int r, int c, int nextState) public void update() public void clear() public void loadCells() public void updateExtraInfo(int r, int c, int data, int index) public int getExtraInfo(int r, int c, int index) } package cellsociety; public class UI { public static final String DATA_FILE_FOLDER public final static FileChooser FILE_CHOOSER public UI(FileInfo file, Simulation sim) public Scene makeScene(int width, int height, Stage primaryStage) public void ClearButtonPressed() public void PlayButtonPressed() } package cellsociety.exceptions; public class SimulationSpecificException extends Exception { public SimulationSpecificException() public SimulationSpecificException(String errorMessage) } package cellsociety.exceptions; public class NeighborhoodNotFoundException extends Exception { public NeighborhoodNotFoundException() public NeighborhoodNotFoundException(String errorMessage) } package cellsociety.exceptions; public class XMLContentIsEmptyException extends Exception { public XMLContentIsEmptyException() public XMLContentIsEmptyException(String errorMessage) } package cellsociety.exceptions; public class InvalidNumberException extends Exception { public InvalidNumberException() public InvalidNumberException(String errorMessage) } package cellsociety.exceptions; public class XMLTagNotFoundException extends Exception { public XMLTagNotFoundException() public XMLTagNotFoundException(String errorMessage) } package cellsociety; public class GridView extends Grid { public GridView(FileInfo file) public GridPane getMyGridPane() public void clear() public void update() public void loadCells() } package cellsociety.simulations; public class SpreadingFireSimulation extends Simulation { public SpreadingFireSimulation(double[] extraParameters) public SpreadingFireSimulation() throws SimulationSpecificException protected void checkRules(Grid grid, int rowIndex, int colIndex) } package cellsociety.simulations; public class WaTorSimulation extends Simulation { public WaTorSimulation() public WaTorSimulation(double[] extraParameters) protected void checkRules(Grid grid, int rowIndex, int colIndex) } package cellsociety.simulations; public class LifeSimulation extends Simulation { public LifeSimulation(double[] extraParameters) public LifeSimulation() protected void checkRules(Grid grid, int rowIndex, int colIndex) } package cellsociety.simulations; public class PercolationSimulation extends Simulation { public PercolationSimulation(double[] extraParameters) public PercolationSimulation() protected void checkRules(Grid grid, int rowIndex, int colIndex) } package cellsociety.simulations; public class SchellingSegregationSimulation extends Simulation { public SchellingSegregationSimulation(double[] extraParameters) public SchellingSegregationSimulation() protected void checkRules(Grid grid, int rowIndex, int colIndex) } package cellsociety; public class Main extends Application { public static final Dimension DEFAULT_SIZE public void start(Stage primaryStage) } package cellsociety; public class CellView extends Cell { public CellView(int initialState) public void createView(int width, int height) public Rectangle getView() public void setColor() } package cellsociety; public class Cell { public Cell(int initialState) public int getCurrState() public void setCurrState(int currState) public int getNextState() public void setNextState(int nextState) public Integer getExtraInfo(int index) public void setExtraInfo(int index, int data) }