package cellsociety; public class Main extends Application { public static final String DATA_FILE_FOLDER public static FileChooser makeChooser(String extensionAccepted) public void start(Stage primaryStage) public double getVersion() } package cellsociety.model; public class Simulation { public Simulation(Stage stage) public void resetGameAndLoadNewFile(String xmlFilePath) public XMLParser getGameParser() public void update() public void start() public void stop() public void resume() public void speedUp() public void slowDown() public void onLoadNewFile() public void onStep() public void save() } package cellsociety.model; public class XMLSaver { public XMLSaver() public Element createIntArrayElement(String tag, ArrayList values) public Element createIntElement(String tag, int value) public Element createFloatElement(String tag, float value) public Element createBlankElement(String tag) public Element create2DIntArrayElement(String tag, int[][] array) public void addElement(Element e) public void save() } package cellsociety.model.grids; public class JRectangularGrid extends JGrid{ public JRectangularGrid(XMLParser xmlp) public boolean isValidLocation(int row, int col) public boolean isInterior(int row, int col) public int getNumCols() public int getNumRows() protected void initCellsFromXML(XMLParser xmlp) protected void initNextCells() public ArrayList getNeighborStates(int row, int col, int direction) public JCell[][] getCells() public void newNextCellsCanvas() public void replaceWithNextCells() public void setNextCellState(int row, int col, int val) public int getNextCellState(int row, int col) public int getCellState(int row, int col) public void setCellState(int row, int col, int val) public int[][] getCellStates() public Element getGridAsElement(XMLSaver xmls) } package cellsociety.model.grids; public class JCell { public JCell() public JCell(int state) public int getState() public void setState(int val) } package cellsociety.model.grids; public abstract class JGrid { protected abstract void initCellsFromXML(XMLParser xmlp); protected abstract void initNextCells(); public abstract int getCellState(int row, int col); public abstract int[][] getCellStates(); public abstract void newNextCellsCanvas(); public abstract void replaceWithNextCells(); public abstract void setNextCellState(int row, int col, int val); public abstract Element getGridAsElement(XMLSaver xmls); public abstract boolean isValidLocation(int row, int col); } package cellsociety.model.handlers; public abstract class Handler { public abstract void updateGrid(JGrid grid, GameParams gameParams); public abstract Document getSaveDoc(JGrid grid, GameParams gameParams); public static Handler loadHandlerClass(XMLParser xmlp) } package cellsociety.model.handlers; public class GameOfLifeHandler extends Handler { public void updateGrid(JGrid _grid, GameParams _gameParams) public Document getSaveDoc(JGrid grid, GameParams gameParams) } package cellsociety.model.handlers; public class WatorHandler extends Handler { public void updateGrid(JGrid _grid, GameParams _gameParams) public ArrayList generateneighborsindex(int x, int y, int numrows, int numcols) public ArrayList GetSpaceNeighborIndex(ArrayList arrl, JRectangularGrid _grid) public ArrayList GetFishNeighborIndex(ArrayList arrl, JRectangularGrid _grid) public ArrayList getsharkposition(ArrayList arrl, JRectangularGrid _grid) public Document getSaveDoc(JGrid grid, GameParams gameParams) } package cellsociety.model.handlers; public class PercolationHandler extends Handler{ public boolean isOppositeSide(JRectangularGrid grid, int row, int col, PercolationGameParams gameParams) public boolean reachedOppositeSide(JRectangularGrid grid, PercolationGameParams gameParams) public int generateNextCellState(JRectangularGrid grid, int row, int col, PercolationGameParams gameParams) public void updateGrid(JGrid _grid, GameParams _gameParams) public Document getSaveDoc(JGrid grid, GameParams gameParams) } package cellsociety.model.handlers; public class SegregationHandler extends Handler { public void updateGrid(JGrid _grid, GameParams _gameParams) public Document getSaveDoc(JGrid grid, GameParams gameParams) } package cellsociety.model.handlers; public class FireHandler extends Handler { public boolean neighborBurning(JRectangularGrid grid, int row, int col) public void updateGrid(JGrid _grid, GameParams _gameParams) public Document getSaveDoc(JGrid grid, GameParams gameParams) } package cellsociety.model.gameparams; public class WatorGameParams extends GameParams{ public void loadGameParams(XMLParser xmlp) public int getFishinitiallv() public int getSharkinitiallv() public Element getTypeAsElement(XMLSaver xmls) public Element getParamsAsElement(XMLSaver xmls) } package cellsociety.model.gameparams; public abstract class GameParams { public abstract void loadGameParams(XMLParser xmlp); public static GameParams getGameParamsClass(XMLParser xmlp) public abstract Element getTypeAsElement(XMLSaver xmls); public abstract Element getParamsAsElement(XMLSaver xmls); } package cellsociety.model.gameparams; public class PercolationGameParams extends GameParams { public void loadGameParams(XMLParser xmlp) public Direction getInitPercolationSide() public Direction getOppositeInitPercolationSide() public Element getTypeAsElement(XMLSaver xmls) public Element getParamsAsElement(XMLSaver xmls) } package cellsociety.model.gameparams; public class SegregationGameParams extends GameParams { public void loadGameParams(XMLParser xmlp) public float getSatisfactionThreshold() public Element getTypeAsElement(XMLSaver xmls) public Element getParamsAsElement(XMLSaver xmls) } package cellsociety.model.gameparams; public class FireGameParams extends GameParams { public void loadGameParams(XMLParser xmlp) public float getIgnitionProbability() public Element getTypeAsElement(XMLSaver xmls) public Element getParamsAsElement(XMLSaver xmls) } package cellsociety.model.gameparams; public class GameOfLifeGameParams extends GameParams{ public void loadGameParams(XMLParser xmlp) public ArrayList getDeathNums() public ArrayList getStasisNums() public ArrayList getBirthNums() public Element getTypeAsElement(XMLSaver xmls) public Element getParamsAsElement(XMLSaver xmls) } package cellsociety.model; public class XMLFileSaver { public void saveDocAs() } package cellsociety.model; public class XMLParser { public void loadXMLFile(String filePath) public String getAsString(String xmlTag) public ArrayList getAsStringArrayList(String xmlTag) public float getAsFloat(String xmlTag) public ArrayList getAsIntArrayList(String xmlTag) public int getAsInt(String xmlTag) public int[][] getAs2DIntArray(String xmlTag) } package cellsociety.view; public class CellRectangle extends Rectangle { public CellRectangle(float x, float y, float width, float height, JCell cell) public JCell getCell() } package cellsociety.view; public class PopupWindow { public PopupWindow(XMLParser parser) public void setPopupScene() public void show() } package cellsociety.view; public class CellSocietyView { public CellSocietyView(Simulation simulation, JRectangularGrid grid, XMLParser parser) public Scene makeScene() public void updateUIGrid() public void newGame(JRectangularGrid grid, XMLParser xmlp) public Element getColorPaletteElement(XMLSaver xmls) } package cellsociety.view.colormapper; public class PercolationColorMapper extends ColorMapper{ public PercolationColorMapper(XMLParser xmlp) public Paint stateToPaint(int state) } package cellsociety.view.colormapper; public class WatorColorMapper extends ColorMapper { public WatorColorMapper(XMLParser xmlp) public Paint stateToPaint(int state) } package cellsociety.view.colormapper; public class SegregationColorMapper extends ColorMapper { public SegregationColorMapper(XMLParser xmlp) public Paint stateToPaint(int state) } package cellsociety.view.colormapper; public abstract class ColorMapper{ public void loadFromXML(XMLParser xmlp) public abstract Paint stateToPaint(int state); public static ColorMapper getColorMapperClass(XMLParser xmlp) public ArrayList getColorPalette() public Element getColorPaletteAsElement(XMLSaver xmls) } package cellsociety.view.colormapper; public class GameOfLifeColorMapper extends ColorMapper{ public GameOfLifeColorMapper(XMLParser xmlp) public Paint stateToPaint(int state) } package cellsociety.view.colormapper; public class FireColorMapper extends ColorMapper{ public FireColorMapper(XMLParser xmlp) public Paint stateToPaint(int state) }