package com.plectix.simulator.simulator.options; import org.apache.commons.cli.Options; public class OptionsSetSingleton { public static final Options allComandLineOptions; static { allComandLineOptions = new Options(); for (SimulatorOption option : SimulatorFlagOption.values()) { addOption(option); } for (SimulatorOption option : SimulatorParameterizedOption.values()) { addOption(option); } // We need to add unused options either, forcing cmd parser to accept them for (SimulatorOption option : SimulatorUnusedOption.values()) { addOption(option); } } public static final Options getInstance() { return allComandLineOptions; } private static final void addOption(SimulatorOption option) { if (option.getShortName() == null) { allComandLineOptions.addOption(option.getLongName(), option.hasArguments(), option.getDescription()); } else { allComandLineOptions.addOption(option.getShortName(), option.getLongName(), option.hasArguments(), option.getDescription()); } } }