java-bootstrap-platform/src/bootstrap/SingleParameterOption.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;
}
}