public class Parameters { private static String output_dir; private static String log_filename, known_classes_filename, groups_filename; private static int threads; static { output_dir = "../output/"; log_filename = "../last_log"; known_classes_filename = "../data/KNOWN_CLASSES"; groups_filename = "../data/GROUPS"; threads = 8; } private Parameters () {} /** utility class **/ public static boolean set_parameters (final String[] args) { int i; for (i = 0; i < args.length; i++) { if(args[i].equals("--outputs")) { i++; output_dir = args[i]; } else if(args[i].equals("--log")) { i++; log_filename = args[i]; } else if(args[i].equals("--classes")) { i++; known_classes_filename = args[i]; } else if(args[i].equals("--groups")) { i++; groups_filename = args[i]; } else if(args[i].equals("--threads")) { i++; threads = Integer.parseInt(args[i]); } else if(args[i].equals("--help") || args[i].equals("-h")) { usage(); return false; } else { System.err.println("[W] Unknown parameter:" + args[i]); } } return true; } private static void usage () { final StringBuilder sb; sb = new StringBuilder(); sb.append ( ").\n\"--outputs directory\": where the 'ICS' files are written " + "(default: " ); sb.append(output_dir); sb.append ( ").\n\"--log filename\": where the errors are reported (default: " ); sb.append(log_filename); sb.append ( ").\n\"--classes filename\": file containing the known classes " + "(default: " ); sb.append(known_classes_filename); sb.append ( ").\n\"--groups filename\": file containing the groups (default: " ); sb.append(groups_filename); sb.append ( ").\n\"--threads number\": maximum number of threads running at " + "any time (default: " ); sb.append(threads); sb.append ( ").\n\"--help\": prints this instead of converting (alias: \"-h\")." ); System.out.println(sb.toString()); } public static String get_output_directory () { return output_dir; } public static String get_log_filename () { return log_filename; } public static String get_known_classes_filename () { return known_classes_filename; } public static String get_groups_filename () { return groups_filename; } public static int get_max_threads () { return threads; } }