blob: c3fcd51c1c057a79be25451788c726e79db38e8a (
plain)
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
|
import java.util.List;
import java.util.ArrayList;
public class Parameters
{
private final List<String> level_files;
private final List<String> model_files;
private final List<String> map_files;
private final String property_file;
private final String var_prefix;
private final boolean are_valid;
public static void print_usage ()
{
System.out.println
(
"Instr-to-kodkod\n"
+ "USAGE:\n"
+ "\tjava Main <VAR_PREFIX> <FILES>+\n"
+ "PARAMETERS:\n"
+ "\t- <VAR_PREFIX>\tPrefix for anonymous variables (e.g. \"_anon_\").\n"
+ "\t- <FILES>\tList of files to be loaded.\n"
+ "NOTES:\n"
+ "\t- One, single, property file MUST be in <FILES>.\n"
+ "\t- Property files have a \".pro\" extension.\n"
+ "\t- Model files have a \".mod\" extension.\n"
+ "\t- Level files have a \".lvl\" extension.\n"
+ "\t- Map files have a \".map\" extension.\n"
+ "\t- The files may be given in any order."
);
}
public Parameters (String... args)
{
boolean has_pro_file, has_error;
String prop_file;
level_files = new ArrayList<String>();
model_files = new ArrayList<String>();
map_files = new ArrayList<String>();
if (args.length < 2)
{
print_usage();
property_file = new String();
var_prefix = new String();
are_valid = false;
return;
}
has_pro_file = false;
has_error = false;
var_prefix = args[0];
prop_file = new String();
for (int i = 1; i < args.length; ++i)
{
if (args[i].endsWith(".lvl"))
{
level_files.add(args[i]);
}
else if (args[i].endsWith(".mod"))
{
model_files.add(args[i]);
}
else if (args[i].endsWith(".map"))
{
map_files.add(args[i]);
}
else if (args[i].endsWith(".pro"))
{
if (has_pro_file)
{
System.err.println
(
"[E] Both files \""
+ prop_file
+ "\" and \"."
+ args[i]
+ "\" contain a property. Only one can be used at a time."
);
has_error = true;
}
else
{
has_pro_file = true;
prop_file = args[i];
}
}
else
{
System.err.println
(
"[E] Unknown file type \""
+ args[i]
+ "\"."
);
has_error = true;
}
}
property_file = prop_file;
if (!has_pro_file)
{
System.err.println("[E] There was no property file.");
has_error = true;
}
are_valid = !has_error;
}
public List<String> get_level_files ()
{
return level_files;
}
public List<String> get_model_files ()
{
return model_files;
}
public List<String> get_map_files ()
{
return model_files;
}
public String get_property_file ()
{
return property_file;
}
public String get_variables_prefix ()
{
return var_prefix;
}
public boolean are_valid ()
{
return are_valid;
}
}
|