package jcgp.backend.parser; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.util.Scanner; import jcgp.backend.resources.ModifiableResources; public class ParameterParser { private ModifiableResources resources; private ParameterParser(ModifiableResources resources) { this.resources = resources; } public static void parseParameters(File file, ModifiableResources resources) { ParameterParser pp = new ParameterParser(resources); FileReader fr; try { fr = new FileReader(file); } catch (FileNotFoundException e) { e.printStackTrace(); return; } Scanner in = new Scanner(fr); while (in.hasNextLine()) { pp.parseAndSet(in.nextLine().split("( |\t)+")); } in.close(); } private void parseAndSet(String[] splitString) { switch (splitString[1]) { case "population_size": resources.setPopulationSize(Integer.parseInt(splitString[0])); break; case "num_generations": resources.setGenerations(Integer.parseInt(splitString[0])); break; case "num_runs_total": resources.setRuns(Integer.parseInt(splitString[0])); break; case "num_rows": resources.setRows(Integer.parseInt(splitString[0])); break; case "num_cols": resources.setColumns(Integer.parseInt(splitString[0])); break; case "levels_back": resources.setLevelsBack(Integer.parseInt(splitString[0])); break; case "report_interval": resources.setReportInterval(Integer.parseInt(splitString[0])); break; case "global_seed": resources.setSeed(Integer.parseInt(splitString[0])); break; default: break; } } }