+ if (args == null)
+ return;
+ Enumeration<String> argE = Collections
+ .enumeration(Arrays.asList(args));
+ while (argE.hasMoreElements())
+ {
+ String arg = argE.nextElement();
+ String argName = null;
+ String val = null;
+ if (arg.startsWith("--"))
+ {
+ int equalPos = arg.indexOf('=');
+ if (equalPos > -1)
+ {
+ argName = arg.substring(2, equalPos);
+ val = arg.substring(equalPos + 1);
+ }
+ else
+ {
+ argName = arg.substring(2);
+ val = "true";
+ }
+ Arg a = argMap.get(argName);
+ if (a != null && bootstrapArgs.contains(a))
+ {
+ if (!bootstrapArgMap.containsKey(a)
+ || bootstrapArgMap.get(a) == null)
+ {
+ List<String> aL = new ArrayList<>();
+ aL.add(val);
+ bootstrapArgMap.put(a, aL);
+ }
+ else if (a.hasOption(Opt.MULTI))
+ {
+ List<String> aL = bootstrapArgMap.get(a); // already established
+ // this is not null
+ aL.add(val);
+ bootstrapArgMap.put(a, aL);
+ }
+ }
+ }
+ }
+ }
+
+ public boolean contains(Arg a)
+ {
+ return bootstrapArgMap.containsKey(a);
+ }
+
+ public List<String> getList(Arg a)
+ {
+ return bootstrapArgMap.get(a);
+ }
+
+ public String get(Arg a)
+ {
+ if (bootstrapArgMap.containsKey(a))
+ {
+ List<String> aL = bootstrapArgMap.get(a);
+ return (aL == null || aL.size() == 0) ? null : aL.get(0);
+ }
+ return null;