package edu.sc.seis.sod.tools;
import java.util.HashMap;
import java.util.Map;
import com.martiansoftware.jsap.FlaggedOption;
import com.martiansoftware.jsap.ParseException;
import com.martiansoftware.jsap.StringParser;
public class OutputFormatParser extends StringParser {
public OutputFormatParser(Map shortcutFormats) {
shortcutFormats.put("none", Boolean.FALSE);
this.shortcutFormats = shortcutFormats;
}
public static FlaggedOption createParam(String xyFormat, String yxFormat) {
Map shortcuts = new HashMap();
shortcuts.put("xy", xyFormat);
shortcuts.put("yx", yxFormat);
return createParam(shortcuts, "xy");
}
public static FlaggedOption createParam(Map shortcutFormats,
String defaultFormat) {
return new FlaggedOption("output",
new OutputFormatParser(shortcutFormats),
defaultFormat,
true,
'o',
"output",
"The format for output to standard out.");
}
public Object parse(String format) throws ParseException {
if(shortcutFormats.containsKey(format)) {
return shortcutFormats.get(format);
}
return format;
}
private Map shortcutFormats;
}