package config; public class Cells extends CompositeData implements Iterable{ public Cells load(XMLParser parser) public Cells save() public void populate(Node n) public void add(State s) public void clear() public Iterator iterator() } package config; public abstract class CompositeData { public CompositeData load(XMLParser parser) public abstract CompositeData save() public abstract void populate(Node n); public final Node traverseChildren(String item, boolean removeAll) } package config; public class Configuration { public Configuration(String src) public synchronized Configuration reset() public synchronized void serializeTo(String fileName) public synchronized boolean isRunning() public synchronized int getFramesPerSec() public synchronized String getCustomParam(String paramName) public synchronized Set getAllCustomParamNames() public synchronized String getSimulationName() public synchronized String getAuthor() public synchronized States getAllStates() public synchronized Neighborhood getNeighborhood() public synchronized Cells getInitialCells() public synchronized int getNumCols() public synchronized int getNumRows() public synchronized XMLParser getParser() public synchronized String getShape() public synchronized String getWrapping() public synchronized Configuration setCustomParam(String paramName, String value) public synchronized Configuration setFramesPerSec(int framesPerSec) public synchronized Configuration setRunning(boolean isRunning) public synchronized Configuration setSimulationName(String simulationName) public synchronized Configuration setAuthor(String author) public synchronized Configuration setNumCols(int numCols) public synchronized Configuration setNumRows(int numRows) public synchronized Configuration setShape(String shape) public synchronized Configuration setWrapping(String wrapping) } package config; public class ConfigurationLoader { public synchronized static ConfigurationLoader loader() public synchronized ConfigurationLoader load(String src) public synchronized ConfigurationLoader flush() public synchronized static Configuration getConfig(String src) public synchronized void store(String src, Configuration config) public static String buildSourcePath(String src) } package config; public class Neighborhood extends CompositeData { public Neighborhood load(XMLParser parser) public Neighborhood save() public int getSize() public Neighborhood setSize(int size) public String getEdgeType() public Neighborhood setEdgeType(String edgeType) public String getEdgeValue() public Neighborhood setEdgeValue(String edgeValue) public void populate(Node n) } } package config; public class Params extends CompositeData { public Params load(XMLParser parser) public void populate(Node n) public CompositeData save() public Set getAllParams() public String getCustomParam(String paramName) public Params setCustomParam(String paramName, String value) } package config; public class State { public State() public String getValue() public State setValue(String value) public Map getAttributes() } package config; public class States extends CompositeData implements Iterable{ public States load(XMLParser parser) public State getDefaultState() public void setDefaultState(State defaultState) public States save() public void populate(Node n) public State getStateByName(String name) public Iterator iterator() public List getList() } package config; public abstract class XMLParser { public XMLParser(String scrPath) public abstract void updateDoc(String itemName, String value) public abstract void updateDoc(String itemName, int value) public abstract String getItem(String itemName) public abstract NodeList getNodeListAllowEmpty(String itemName) public abstract int getItemAsInteger(String itemName) public abstract NodeList getNodeList(String itemName) public Document getDoc() } package config; public class XMLParserFactory { public static XMLParser build(XMLQueryMethod method, String srcPath) } package config; public class XpathXMLParser extends XMLParser { public XpathXMLParser(String srcPath) throws XMLParserException public void updateDoc(String itemName, String value) public void updateDoc(String itemName, int value) public String getItem(String itemName) public int getItemAsInteger(String itemName) public NodeList getNodeList(String itemName) public NodeList getNodeListAllowEmpty(String itemName) } package exceptions; public class InconsistentCrossReferenceInXMLException extends Exception { } package exceptions; public class MalformedXMLSourceException extends Exception { } package exceptions; public class QueryExpressionException extends Exception { } package exceptions; public class SourcePathNotInitialized extends Exception { } package exceptions; public class UnrecognizedQueryMethodException extends Exception{ } package exceptions; public class XMLParserException extends Exception{ } package model; public class Ant{ public Ant(int row, int col, String type) public List getForwardCells(List neighbors, Cell myOrientationCell) public List getNonForwardCells(List neighbors, Cell myOrientationCell) public int getRow() public int getCol() public void setRow(int row) public void setCol(int col) public String getType() public void setType(String newType) } package model; public class AntCell extends Cell{ public AntCell(int row, int col, int maxHomePheromones, int maxFoodPheromones) public List getAnts() public void loseFoodPheromones(int lostFood) public void loseHomePheromones(int lostHome) public void addFoodPheromones() public void addHomePheromones() public int getHomePheromones() public int getFoodPheromones() public int getMaxHomePheromones() public int getMaxFoodPheromones() public void setMaxHomePheromones(int value) public void setMaxFoodPheromones(int value) public void addAnt(Ant newAnt) public void removeAnt(Ant movingAnt) public boolean isFull() public boolean gainedHomeAnts() public boolean gainedFoodAnts() public void homeAntGain() public void foodAntGain() public void resetAntGain() public boolean hasAnts() public int[] getRowDeltas() public int[] getColDeltas() public boolean isAntCell() } package model; public class AntSimulation extends CellGrid { public AntSimulation(Configuration config) public void initSimulation() public void createGrid(double percentObstacles) public void updateGrid() public void updateCell(Cell myCell) public String getSimulationName() } package model; public abstract class Cell extends Shape { public Cell(int row, int col) public int getRowPos() public void setRowPos(int rowPos) public int getColPos() public void setColPos(int colPos) public String getFuturestate() public void setFuturestate(String futurestate) public String getCurrentstate() public void setCurrentstate(String currentstate) public ArrayList getNeighbors() public void setNeighbors(ArrayList neighbors) public Shape render() return null; } public abstract int[] getRowDeltas(); public abstract int[] getColDeltas(); public boolean hasPatch() public boolean isSugarCell() public boolean isAntCell() public State serialize() public com.sun.javafx.geom.Shape impl_configShape() } package model; public abstract class CellGrid { public CellGrid(Configuration config) public void renderGrid(Pane cellPane, Configuration config) public List getNeighbors(Cell cell, int vision) public boolean isToroidal() public Configuration save() public void setDeltas(int[] newRowDeltas, int[] newColDeltas) public void load() public int getNumRows() public int getNumCols() public void setGridCell(int row, int col, Cell myCell) public Cell getGridCell(int row, int col) public Configuration getConfig() public double distance(int x1, int y1, int x2, int y2) public abstract void updateGrid(); public abstract void updateCell(Cell myCell); public abstract String getSimulationName(); public void initSimulation() } package model; public class FireSimulation extends CellGrid { public static final String SIMULATION_NAME = Simulations.FIRE.getName(); public FireSimulation(Configuration config) public void getBurningTreePos() public void initSimulation() public void createGrid() public void createToroidalGrid() public void updateGrid() public void updateCell(Cell myCell) public String getSimulationName() } package model; public class Fish extends Cell{ public Fish(int row, int col, int reproductionTime, int timeToDeath) public State serialize() public void setReproductionTime(int reproductionTime) public void setMaxReproductionTime(int maxReproductionTime) public void setTimeToDeath(int timeToDeath) public int getReproductionTime() public int getMaxReproductionTime() public void decrementReproductionTime() public void resetReproductionTime() public void increaseTimeToDeath() public void decrementTimeToDeath() public int getTimeToDeath() public int resetTimeToDeath() public int[] getRowDeltas() public int[] getColDeltas() } package model; public class GameOfLifeSimulation extends CellGrid { public GameOfLifeSimulation(Configuration config) public void getNeighborConvention() public void initSimulation() public void createGrid(double percentDead) public void updateGrid() public void updateCell(Cell myCell) public String getSimulationName() } /*package model; public class Hexagon extends Cell { public Node render() // public Node render() public int[] getRowDeltas() public int[] getColDeltas() } package model; public class PredatorPreySimulation extends CellGrid { public PredatorPreySimulation(Configuration config) public void initSimulation() public void createGrid(double percentEmptyCells, double percentShark) public void load() public void updateGrid() public void updateFutureStates() public void updateCell(Cell myCell) public String getSimulationName() } package model; public class Rectangle extends Cell { public Rectangle(int row, int col, Configuration config) public Shape render() public int[] getRowDeltas() public int[] getColDeltas() } package model; public class RectangleNoDiagonals extends Rectangle { public RectangleNoDiagonals(int row, int col, Configuration config) public int[] getRowDeltas() public int[] getColDeltas() } package model; public class RectangleWithDiagonals extends Rectangle { public RectangleWithDiagonals(int row, int col, Configuration config) public int[] getRowDeltas() public int[] getColDeltas() } package model; public class Render { public Render(Configuration config) public Shape chooseRender(Cell cell, String shape, int isEven, double xPos, double yPos, int yIndex, int xIndex) public Shape renderPatch(Cell cell, double xPos, double yPos, int yIndex, int xIndex) } package model; public class SegregationSimulation extends CellGrid { public SegregationSimulation(Configuration config) public void initSimulation() public void updateGrid() public void updateCell(Cell myCell) public String getSimulationName() } package model; public class SugarAgent extends Cell { public SugarAgent(int row, int col, int initSugar, int sugarMetabolism, int vision, int patchSugar) public State serialize() public boolean hasPatch() public SugarPatch getPatch() public boolean isSugarCell() public int getSugar() public void setSugar(int sugar) public int getSugarMetabolism() public void setSugarMetabolism(int newMetabolism) public int getVision() public void updateSugar(int amount) public void killAgent() public boolean isDead() public boolean isVacant() public int[] getRowDeltas() public int[] getColDeltas() } package model; public class SugarPatch{ public SugarPatch(int sugar) public int getSugar() public int getMaxSugar() public void decreaseSugar() public void addSugar(int amount) } package model; public class SugarSimulation extends CellGrid{ public static final String SIMULATION_NAME = Simulations.SUGAR.getName(); public SugarSimulation(Configuration config) public void initSimulation() public void createGrid(double percentAgent) public String getSimulationName() public void updateGrid() public void updateFutureStates() public void updateCell(Cell myCell) } package model; public class Triangle extends Cell { public Triangle(int row, int col, int isEven, Configuration config) public Shape render() public int[] getRowDeltas() public int[] getColDeltas() } package utils; public class Utils { public static String getAttrFromFirstMatch(Document doc, String tag, String attr) public static Node getNode(Document doc, String tag) public static String getAttrFromNode(Node n, String attr) public static List getAttrFromAllMatches(Document doc, String tag, String attr) } package view; public class Main extends Application { public void start(Stage primaryStage) throws Exception } package view; public class MainView { public Scene initScene() throws Exception } package view; public class SimulationButton extends Button { public SimulationButton(String displayName) public String getDisplayName() } package view; public class SimulationSlider { public SimulationSlider(String text, Configuration config) public SimulationSlider(SceneConstant min, SceneConstant max, double defaultVal, String displayName, boolean set, Configuration config) public HBox getGenericSlider() public VBox getCustomSlider() public Slider getSlider() public void setReset(boolean reset) }