Number Lines: 1601 total Classes: 26 Abstract: 2 Subclasses: 13 Interfaces: 1 Interfaces Used: 1 Use of static ./src/cell/CellColors.java: public static Color[] fireColors(){ ./src/cell/CellColors.java: public static Color[] waTorColors(){ ./src/cell/CellColors.java: public static Color[] segregationColors(){ ./src/cell/CellColors.java: public static Color[] reproductionColors(){ ./src/cell/CellFactory.java: public static Cell newCell(String type, int value, Rule rule) throws FileParsingException { ./src/cell/CellFactory.java: public static Cell newCellFromString(String type, String cellStr, Rule rule) throws FileParsingException { ./src/cell/CellFactory.java: private static void checkType(String type) throws FileParsingException { ./src/io/BoardBuilder.java: public static ArrayList buildFullBoard( ./src/io/BoardBuilder.java: public static ArrayList buildRandomBoard( ./src/io/BoardBuilder.java: public static ArrayList buildDefaultNonDefaultBoard( ./src/io/BoardBuilder.java: private static ArrayList boardArrToList(int width, int height, Cell[][] board) { ./src/io/BoardBuilder.java: private static void setNeighborConnection(int width, int height, int connection, Cell[][] board) { ./src/io/BoardConfigurationSaver.java: public static void saveBoard(ArrayList board, String fileName) { ./src/io/RandomBoardInitializer.java: public static Cell[][] bernoulliRandomInitialize( ./src/io/RandomBoardInitializer.java: private static int sampleDiscrete(ArrayList pdf) { Global instance variables Non-private instance variables ./src/cell/Cell.java: protected ArrayList neighbors; ./src/cell/Cell.java: protected CellValue value; ./src/cell/Cell.java: protected CellValue nextValue; ./src/cell/Cell.java: protected Rule rule; ./src/global_stepper/BaseStepper.java: protected ArrayList board; Magic values ./src/cell/CellFactory.java: if(type.equals("Reproduction")) { ./src/cell/CellFactory.java: } else if(type.equals("Fire")) { ./src/cell/CellFactory.java: } else if(type.equals("WaTor")) { ./src/cell/CellFactory.java: } else if(type.equals("Segregation")) { ./src/cell/CellFactory.java: if(type.equals("Reproduction")) { ./src/cell/CellFactory.java: } else if(type.equals("Fire")) { ./src/cell/CellFactory.java: } else if(type.equals("WaTor")) { ./src/cell/CellFactory.java: } else if(type.equals("Segregation")) { ./src/global_stepper/WaTorStepper.java: * 3. update shark. for each shark, move to a nearby position. eat fish if possible. reproduce as needed ./src/io/BoardBuilder.java: if(connection==8) { ./src/io/SpecificationFileParser.java: if(ruleType.equals("Reproduction")) { ./src/io/SpecificationFileParser.java: } else if(ruleType.equals("Fire")) { ./src/io/SpecificationFileParser.java: } else if(ruleType.equals("Segregation")) { ./src/io/SpecificationFileParser.java: } else if(ruleType.equals("WaTor")) { ./src/io/SpecificationFileParser.java: if(random!=null && random.equalsIgnoreCase("true")) { Use of Concrete List ./src/cell/Cell.java: public ArrayList getNeighbors() { ./src/cell/Cell.java: public void setNeighbors(ArrayList neighbors) { ./src/global_stepper/BaseStepper.java: public BaseStepper(ArrayList board) { ./src/global_stepper/LocalStepper.java: public LocalStepper(ArrayList board) { ./src/global_stepper/SegregationStepper.java: public SegregationStepper(ArrayList board) { ./src/global_stepper/WaTorStepper.java: public WaTorStepper(ArrayList board) { ./src/io/BoardBuilder.java: public static ArrayList buildFullBoard( ./src/io/BoardBuilder.java: public static ArrayList buildRandomBoard( ./src/io/BoardBuilder.java: public static ArrayList buildDefaultNonDefaultBoard( ./src/io/BoardConfigurationSaver.java: public static void saveBoard(ArrayList board, String fileName) { ./src/io/SpecificationFileParser.java: public ArrayList getBoard() { ./src/main/SimulationController.java: public SimulationController(ArrayList bd, SimulationDisplay sd) { ./src/rule/ReproductionRule.java: public ReproductionRule(ArrayList liveCounts, ArrayList emergeCounts) { ./src/rule/ReproductionRule.java: public ArrayList getLiveNeighborCounts() { ./src/rule/ReproductionRule.java: public ArrayList getEmergeNeighborCounts() { ./src/ui/SimulationDisplay.java: public void updateBoard(ArrayList changedCells) { ./src/ui/SimulationDisplay.java: public void createBoard(ArrayList board) { Use of Concrete Map Use of Concrete Set Longest Methods 24 BoardBuilder.setNeighborConnection 23 SpecificationFileParser.readFile 23 SimulationController.setSimType 22 SpecificationFileParser.parseWaTorRule 21 WaTorStepper.updateShark 17 SimulationDisplay.createBoard 17 ReproductionCell.updateReproduction 16 FireCell.updateFire 15 MainController.resetSimulation 14 WaTorCell.step Bad Exception Handling ./src/io/SpecificationFileParser.java: e.printStackTrace(); ./src/main/MainController.java: e.printStackTrace();