diff options
author | Eduardo Pedroni <ep625@york.ac.uk> | 2014-04-18 09:08:41 +0100 |
---|---|---|
committer | Eduardo Pedroni <ep625@york.ac.uk> | 2014-04-18 09:08:41 +0100 |
commit | 88314e71f908efcfc38da3b800319c171a6ccceb (patch) | |
tree | df42e3af2652dff815d1269bb81906a7af51e089 /src/jcgp/backend/parser/ParameterParser.java | |
parent | e7d7e8506a511d78f9e323ac09587f79ad503f42 (diff) |
Added parsers, did a bit of testing, switched to java8
Diffstat (limited to 'src/jcgp/backend/parser/ParameterParser.java')
-rw-r--r-- | src/jcgp/backend/parser/ParameterParser.java | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/src/jcgp/backend/parser/ParameterParser.java b/src/jcgp/backend/parser/ParameterParser.java new file mode 100644 index 0000000..473b632 --- /dev/null +++ b/src/jcgp/backend/parser/ParameterParser.java @@ -0,0 +1,76 @@ +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; + } + } +} |