65 lines
1.5 KiB
Java
65 lines
1.5 KiB
Java
package bootstrap;
|
|
|
|
public class SingleParameterOption extends Option {
|
|
|
|
boolean mayOverride;
|
|
String parameter;
|
|
|
|
public SingleParameterOption(Character shortOption, String longOption) {
|
|
super(shortOption, longOption);
|
|
}
|
|
|
|
public SingleParameterOption(Character shortOption) {
|
|
super(shortOption);
|
|
}
|
|
|
|
public SingleParameterOption(String longOption) {
|
|
super(longOption);
|
|
}
|
|
|
|
public SingleParameterOption(Character shortOption, String longOption,String defaultValue) {
|
|
super(shortOption, longOption);
|
|
this.parameter = defaultValue;
|
|
}
|
|
|
|
public SingleParameterOption(String longOption,String defaultValue) {
|
|
super(longOption);
|
|
this.parameter = defaultValue;
|
|
}
|
|
|
|
public SingleParameterOption(Character shortOption, String longOption,boolean mayOverride) {
|
|
super(shortOption, longOption);
|
|
this.mayOverride = mayOverride;
|
|
}
|
|
|
|
public SingleParameterOption(Character shortOption,boolean mayOverride) {
|
|
super(shortOption);
|
|
this.mayOverride = mayOverride;
|
|
}
|
|
|
|
public SingleParameterOption(String longOption,boolean mayOverride) {
|
|
super(longOption);
|
|
this.mayOverride = mayOverride;
|
|
}
|
|
|
|
@Override
|
|
public boolean hasParameters() {
|
|
return true;
|
|
}
|
|
|
|
@Override
|
|
public void addParameter(String parameter) throws IllegalArgumentException {
|
|
if (this.isSet() && !mayOverride) {
|
|
throw new IllegalArgumentException(String.format("Option %s may only be used one time. Already got '%s' and received '%s'.",this,this.parameter,parameter));
|
|
}
|
|
|
|
Set();
|
|
this.parameter = parameter;
|
|
}
|
|
|
|
public String getParameter(){
|
|
return this.parameter;
|
|
}
|
|
|
|
}
|