java-bootstrap-platform/src/bootstrap/Options.java

57 lines
1.1 KiB
Java

package bootstrap;
import java.util.LinkedList;
public class Options {
LinkedList<String> unkownArguments = new LinkedList<>();
LinkedList<Option> options = new LinkedList<>();
public Options() {
}
public Options(Option[] options) {
for (Option o : options){
this.options.add(o);
}
}
public void addOption(Option option) {
this.options.add(option);
}
public void removeOption(Option option) {
this.options.remove(option);
}
public String[] parseCommandLineArguments(String[] arguments) {
ArrayEnumerator<String> en = new ArrayEnumerator<>(arguments);
while (en.hasMoreElements()) {
String arg = en.nextElement();
if (arg.startsWith("-")) {
for (Option o:this.options) {
if (o.match(arg)) {
if (o.hasParameters()) {
o.addParameter(en.nextElement());
} else {
o.Set();
}
arg = null;
break;
}
}
if (arg != null) {
unkownArguments.add(arg);
}
} else {
unkownArguments.add(arg);
}
}
return this.unkownArguments.toArray(new String[0]);
}
}