-
Notifications
You must be signed in to change notification settings - Fork 0
/
ArgParser.java
43 lines (37 loc) · 933 Bytes
/
ArgParser.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
import java.util.ArrayList;
import java.util.HashMap;
public class ArgParser {
private ArrayList<String> items;
private ArrayList<String> args;
private HashMap<String, String> values;
public ArgParser(String[] args) {
items = new ArrayList<>();
this.args = new ArrayList<>();
values = new HashMap<>();
for (String arg : args) {
if (arg.startsWith("--")) {
String result = arg.substring(2);
if (result.split("=").length > 1) {
values.put(result.split("=")[0], result.split("=")[1]);
} else {
items.add(result);
}
} else if (arg.startsWith("-")) {
for (int i = 1; i < arg.length(); i++) {
items.add(((Character) arg.charAt(i)).toString());
}
} else {
this.args.add(arg);
}
}
}
public ArrayList<String> getItems() {
return items;
}
public ArrayList<String> getArgs() {
return args;
}
public HashMap<String, String> getValues() {
return values;
}
}