package edu.illinois.keshmesh.config;
import java.util.Map;
import edu.illinois.keshmesh.constants.Constants;
public class ConfigurationOptionsFactory {
ConfigurationOptions create(Map<String, String> options) {
String objectSensitivityLevelString = options.get(ConfigurationOptionsReader.OBJECT_SENSITIVITY_LEVEL_KEY);
String dumpCallGraphString = options.get(ConfigurationOptionsReader.DUMP_CALL_GRAPH_KEY);
String dumpHeapGraphString = options.get(ConfigurationOptionsReader.DUMP_HEAP_GRAPH_KEY);
return new ConfigurationOptions(toObjectSensitivityLevel(objectSensitivityLevelString), Boolean.valueOf(dumpCallGraphString), Boolean.valueOf(dumpHeapGraphString));
}
private int toObjectSensitivityLevel(String objectSensitivityLevelString) {
if (Constants.INFINITY.equals(objectSensitivityLevelString.toUpperCase())) {
return Integer.MAX_VALUE;
} else {
return Integer.valueOf(objectSensitivityLevelString);
}
}
}