package org.openflow.example.cli; import java.util.Collection; import java.util.HashMap; import java.util.Map; /** * Very basic CLI options listing * * @author Rob Sherwood (rob.sherwood@stanford.edu) * */ public class Options { Map shortOptionsMap; Map longOptionsMap; public Options() { this.shortOptionsMap = new HashMap(); this.longOptionsMap = new HashMap(); } public static Options make(Option opts[]) { Options options = new Options(); for (int i = 0; i < opts.length; i++) options.addOption(opts[i]); return options; } private void addOption(Option option) { if (option.shortOpt != null) this.shortOptionsMap.put(option.shortOpt, option); if (option.longOpt != null) this.longOptionsMap.put(option.longOpt, option); } protected void addOption(String shortName, String longName, Object o, String comment) { Option option = new Option(shortName, longName, o, comment); addOption(option); } public void addOption(String shortName, String longName, boolean b, String comment) { this.addOption(shortName, longName, Boolean.valueOf(b), comment); } public void addOption(String shortName, String longName, int i, String comment) { this.addOption(shortName, longName, Integer.valueOf(i), comment); } public Option getOption(String shortName) { return this.shortOptionsMap.get(shortName); } public Option getOptionByLongName(String longName) { return this.longOptionsMap.get(longName); } public Collection