/*
* extends the JSAP argument parser to simplify some commands
*/
package argumentparser;
import com.martiansoftware.jsap.FlaggedOption;
import com.martiansoftware.jsap.JSAPException;
import com.martiansoftware.jsap.StringParser;
import com.martiansoftware.jsap.Switch;
/**
*
* @author bm542
*/
public class ArgumentParser extends com.martiansoftware.jsap.JSAP {
// <editor-fold defaultstate="collapsed" desc="Constructors">
public ArgumentParser() {
super();
}
// </editor-fold>
// <editor-fold defaultstate="collapsed" desc="Switches">
public void registerSwitch(String parameterName, char shortFlag) throws JSAPException {
Switch sw1 = new Switch(parameterName)
.setShortFlag(shortFlag)
.setLongFlag(parameterName);
registerParameter(sw1);
}
public void registerSwitch(String parameterName) throws JSAPException {
Switch sw1 = new Switch(parameterName)
.setLongFlag(parameterName);
registerParameter(sw1);
}
// </editor-fold>
// <editor-fold defaultstate="collapsed" desc="Typed Parameters">
public void registerIntegerParameter(String parameterName, String defaultValue, char shortFlag) throws JSAPException {
registerParameter(parameterName, defaultValue, shortFlag, ArgumentParser.INTEGER_PARSER);
}
public void registerIntegerParameter(String parameterName, String defaultValue) throws JSAPException {
registerParameter(parameterName, defaultValue, ArgumentParser.INTEGER_PARSER);
}
public void registerDoubleParameter(String parameterName, String defaultValue, char shortFlag) throws JSAPException {
registerParameter(parameterName, defaultValue, shortFlag, ArgumentParser.DOUBLE_PARSER);
}
public void registerDoubleParameter(String parameterName, String defaultValue) throws JSAPException {
registerParameter(parameterName, defaultValue, ArgumentParser.DOUBLE_PARSER);
}
public void registerLongParameter(String parameterName, String defaultValue, char shortFlag) throws JSAPException {
registerParameter(parameterName, defaultValue, shortFlag, ArgumentParser.LONG_PARSER);
}
public void registerLongParameter(String parameterName, String defaultValue) throws JSAPException {
registerParameter(parameterName, defaultValue, ArgumentParser.LONG_PARSER);
}
public void registerStringParameter(String parameterName, String defaultValue, char shortFlag) throws JSAPException {
registerParameter(parameterName, defaultValue, shortFlag, ArgumentParser.STRING_PARSER);
}
public void registerStringParameter(String parameterName, String defaultValue) throws JSAPException {
registerParameter(parameterName, defaultValue, ArgumentParser.STRING_PARSER);
}
public void registerBooleanParameter(String parameterName, String defaultValue, char shortFlag) throws JSAPException {
registerParameter(parameterName, defaultValue, shortFlag, ArgumentParser.BOOLEAN_PARSER);
}
public void registerBooleanParameter(String parameterName, String defaultValue) throws JSAPException {
registerParameter(parameterName, defaultValue, ArgumentParser.BOOLEAN_PARSER);
}
// </editor-fold>
// <editor-fold defaultstate="collapsed" desc="Generic Parameters">
public void registerParameter(String parameterName, String defaultValue, char shortFlag, StringParser s) throws JSAPException {
FlaggedOption flag = new FlaggedOption(parameterName)
.setStringParser(s)
.setDefault(defaultValue)
.setShortFlag(shortFlag)
.setLongFlag(parameterName);
registerParameter(flag);
}
public void registerParameter(String parameterName, String defaultValue, StringParser s) throws JSAPException {
FlaggedOption flag = new FlaggedOption(parameterName)
.setStringParser(s)
.setDefault(defaultValue)
.setLongFlag(parameterName);
registerParameter(flag);
}
// </editor-fold>
}