57 lines
1.1 KiB
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]);
|
|
}
|
|
|
|
|
|
}
|