JAL-629 Changed --newframe and --allframes to --new and --all. More consistent -...
[jalview.git] / src / jalview / bin / argparser / Arg.java
index 8bb1dcb..a5c344d 100644 (file)
@@ -12,11 +12,11 @@ public enum Arg
   HELP("h"), CALCULATION, MENUBAR, STATUS, SHOWOVERVIEW, ANNOTATIONS,
   COLOUR, FEATURES, GROOVY, GROUPS, HEADLESS, JABAWS, DISPLAY, GUI, NEWS,
   SORTBYTREE, USAGESTATS, APPEND, OPEN, PROPS, QUESTIONNAIRE, SETPROP, TREE,
-  VDOC, VSESS, OUTPUT, OUTPUTTYPE, SSANNOTATIONS, NOTEMPFAC, TEMPFAC, TITLE,
-  PAEMATRIX, WRAP, NOSTRUCTURE, STRUCTURE, STRUCTUREVIEWER, IMAGE, QUIT,
-  CLOSE, DEBUG("d"), QUIET("q"), ARGFILE, NEWFRAME, NPP("n++"),
+  VDOC, VSESS, OUTPUT, SSANNOTATIONS, NOTEMPFAC, TEMPFAC, TITLE, PAEMATRIX,
+  WRAP, NOSTRUCTURE, STRUCTURE, STRUCTUREVIEWER, IMAGE, TYPE, RENDERER,
+  QUIT, CLOSE, DEBUG("d"), QUIET("q"), ARGFILE, NEW, NPP("n++"),
   SUBSTITUTIONS, INITSUBSTITUTIONS, NIL, SPLASH, SETARGFILE, UNSETARGFILE,
-  WEBSERVICEDISCOVERY;
+  WEBSERVICEDISCOVERY, ALL;
 
   protected static enum Opt
   {
@@ -50,7 +50,16 @@ public enum Arg
               // flow in ArgParser.parse(args).
     ALLOWSUBSTITUTIONS, // This Arg allows substitutions in its linkedId,
                         // SubVals and values.
-    PRIVATE // This Arg is used internally, and cannot be specified by the user.
+    PRIVATE, // This Arg is used internally, and cannot be specified by the
+             // user.
+    ALLOWALL, // This Arg can use the '*' linkedId to apply to all known
+              // linkedIds
+    INCREMENTDEFAULTCOUNTER, // If an Arg has this option and the default
+                             // linkedId is used, the defaultLinkedIdCounter is
+                             // incremented *first*.
+    INPUT, // This Arg counts as an input for REQUIREINPUT
+    REQUIREINPUT, // This Arg can only be applied via --all if there is an
+                  // input (i.e. --open or --append)
   }
 
   static
@@ -78,9 +87,9 @@ public enum Arg
     SORTBYTREE.setOptions(true, Opt.BOOLEAN);
     USAGESTATS.setOptions(true, Opt.BOOLEAN);
     APPEND.setOptions(Opt.STRING, Opt.LINKED, Opt.MULTI, Opt.GLOB,
-            Opt.ALLOWSUBSTITUTIONS);
-    OPEN.setOptions(Opt.STRING, Opt.LINKED, Opt.MULTI, Opt.GLOB,
-            Opt.ALLOWSUBSTITUTIONS);
+            Opt.ALLOWSUBSTITUTIONS, Opt.INPUT);
+    OPEN.setOptions(Opt.STRING, Opt.LINKED, Opt.INCREMENTDEFAULTCOUNTER,
+            Opt.MULTI, Opt.GLOB, Opt.ALLOWSUBSTITUTIONS, Opt.INPUT);
     PROPS.setOptions(Opt.STRING, Opt.BOOTSTRAP);
     QUESTIONNAIRE.setOptions(Opt.BOOLEAN, Opt.BOOTSTRAP);
     SETPROP.setOptions(Opt.STRING, Opt.MULTI, Opt.BOOTSTRAP);
@@ -89,8 +98,8 @@ public enum Arg
     VDOC.setOptions(Opt.UNARY);
     VSESS.setOptions(Opt.UNARY);
 
-    OUTPUT.setOptions(Opt.STRING, Opt.LINKED, Opt.ALLOWSUBSTITUTIONS);
-    OUTPUTTYPE.setOptions(Opt.STRING, Opt.LINKED, Opt.MULTI);
+    OUTPUT.setOptions(Opt.STRING, Opt.LINKED, Opt.ALLOWSUBSTITUTIONS,
+            Opt.ALLOWALL, Opt.REQUIREINPUT);
 
     SSANNOTATIONS.setOptions(Opt.BOOLEAN, Opt.LINKED);
     NOTEMPFAC.setOptions(Opt.UNARY, Opt.LINKED);
@@ -103,14 +112,18 @@ public enum Arg
             Opt.ALLOWSUBSTITUTIONS);
     STRUCTUREVIEWER.setOptions(Opt.STRING, Opt.LINKED, Opt.MULTI);
     WRAP.setOptions(Opt.BOOLEAN, Opt.LINKED);
-    IMAGE.setOptions(Opt.STRING, Opt.LINKED, Opt.ALLOWSUBSTITUTIONS);
+    IMAGE.setOptions(Opt.STRING, Opt.LINKED, Opt.ALLOWSUBSTITUTIONS,
+            Opt.ALLOWALL, Opt.REQUIREINPUT);
+    TYPE.setOptions(Opt.STRING, Opt.LINKED, Opt.ALLOWALL);
+    RENDERER.setOptions(Opt.STRING, Opt.LINKED, Opt.ALLOWALL);
     QUIT.setOptions(Opt.UNARY);
-    CLOSE.setOptions(Opt.UNARY, Opt.LINKED);
+    CLOSE.setOptions(Opt.UNARY, Opt.LINKED, Opt.ALLOWALL);
     DEBUG.setOptions(Opt.BOOLEAN, Opt.BOOTSTRAP);
     QUIET.setOptions(Opt.UNARY, Opt.MULTI, Opt.BOOTSTRAP);
     ARGFILE.setOptions(Opt.STRING, Opt.MULTI, Opt.BOOTSTRAP, Opt.GLOB,
             Opt.ALLOWSUBSTITUTIONS);
-    NEWFRAME.setOptions(Opt.UNARY, Opt.MULTI, Opt.NOACTION);
+    NEW.setOptions(Opt.UNARY, Opt.MULTI, Opt.NOACTION,
+            Opt.INCREMENTDEFAULTCOUNTER);
     NPP.setOptions(Opt.UNARY, Opt.MULTI, Opt.NOACTION);
     SUBSTITUTIONS.setOptions(Opt.BOOLEAN, Opt.MULTI, Opt.NOACTION);
     INITSUBSTITUTIONS.setOptions(Opt.BOOLEAN, Opt.BOOTSTRAP, Opt.NOACTION);
@@ -118,6 +131,8 @@ public enum Arg
     SETARGFILE.setOptions(Opt.STRING, Opt.MULTI, Opt.PRIVATE, Opt.NOACTION);
     UNSETARGFILE.setOptions(Opt.MULTI, Opt.PRIVATE, Opt.NOACTION);
     WEBSERVICEDISCOVERY.setOptions(Opt.BOOLEAN, Opt.BOOTSTRAP);
+    ALL.setOptions(Opt.BOOLEAN, Opt.MULTI, Opt.NOACTION);
+
   }
 
   private final String[] argNames;