Jalview-JS/JAL-3253-applet more argument parsing
[jalview.git] / src / jalview / bin / ArgsParser.java
index 2c6cea7..45ea206 100644 (file)
@@ -67,6 +67,10 @@ public class ArgsParser
 
   public static final String OPEN = "open";
 
+  public static final String OPEN2 = "open2"; // BH added -- for applet
+                                              // compatibility; not fully
+                                              // implemented
+
   public static final String PROPS = "props";
 
   public static final String QUESTIONNAIRE = "questionnaire";
@@ -83,17 +87,34 @@ public class ArgsParser
 
   private Vector<String> vargs = null;
 
+  private boolean isApplet;
+
+  private AppletParams appletParams;
+
+  public boolean isApplet()
+  {
+    return isApplet;
+  }
+
   public ArgsParser(String[] args)
   {
     vargs = new Vector<>();
-    for (int i = 0; i < args.length; i++)
+    isApplet = (args.length > 0 && args[0].startsWith("<applet"));
+    if (isApplet)
+    {
+      appletParams = AppletParams.getAppletParams(args, vargs);
+    }
+    else
     {
-      String arg = args[i].trim();
-      if (arg.charAt(0) == '-')
+      for (int i = 0; i < args.length; i++)
       {
-        arg = arg.substring(1);
+        String arg = args[i].trim();
+        if (arg.charAt(0) == '-')
+        {
+          arg = arg.substring(1);
+        }
+        vargs.addElement(arg);
       }
-      vargs.addElement(arg);
     }
   }
 
@@ -161,4 +182,12 @@ public class ArgsParser
     return vargs.size();
   }
 
+  public String getAppletValue(String key, String def)
+  {
+    String value;
+    return (appletParams == null ? null
+            : (value = appletParams.get(key.toLowerCase())) != null ? value
+                    : def);
+  }
+
 }