JAL-629 Change names of Opt.ALLOWALL to Opt.ALLOWMULTIID and Opt.MULTI to Opt.MULTIVA...
[jalview.git] / src / jalview / bin / argparser / Arg.java
index 7882d7b..2bd8e26 100644 (file)
@@ -19,7 +19,7 @@ public enum Arg
 
   // Initialising arguments (BOOTSTRAP)
   HELP(Type.HELP, "h", "Display basic help", Opt.UNARY, Opt.BOOTSTRAP,
-          Opt.HASTYPE, Opt.MULTI),
+          Opt.HASTYPE, Opt.MULTIVALUE),
   /*
    * Other --help-type Args will be added by the static block.
    */
@@ -62,27 +62,27 @@ public enum Arg
           Opt.BOOTSTRAP, Opt.SECRET),
   QUIET(Type.CONFIG, "q",
           "Stop all output to STDOUT (after the Java Virtual Machine has started). Use ‑‑quiet a second time to stop all output to STDERR.",
-          Opt.UNARY, Opt.MULTI, Opt.BOOTSTRAP),
+          Opt.UNARY, Opt.MULTIVALUE, Opt.BOOTSTRAP),
   INITSUBSTITUTIONS(Type.CONFIG,
           "Set ‑‑substitutions to be initially enabled (or initially disabled).",
           true, Opt.BOOLEAN, Opt.BOOTSTRAP, Opt.NOACTION, Opt.SECRET),
   P(Type.CONFIG, "Set a Jalview preference value for this session.",
           Opt.PREFIXKEV, Opt.PRESERVECASE, Opt.STRING, Opt.BOOTSTRAP,
-          Opt.MULTI, Opt.NOACTION, Opt.SECRET), // keep this secret for now.
+          Opt.MULTIVALUE, Opt.NOACTION, Opt.SECRET), // keep this secret for now.
 
   // Opening an alignment
   OPEN(Type.OPENING,
           "Opens one or more alignment files or URLs in new alignment windows.",
-          Opt.STRING, Opt.LINKED, Opt.INCREMENTDEFAULTCOUNTER, Opt.MULTI,
+          Opt.STRING, Opt.LINKED, Opt.INCREMENTDEFAULTCOUNTER, Opt.MULTIVALUE,
           Opt.GLOB, Opt.ALLOWSUBSTITUTIONS, Opt.INPUT, Opt.STORED,
           Opt.PRIMARY),
   APPEND(Type.OPENING,
           "Appends one or more alignment files or URLs to the open alignment window (or opens a new alignment if none already open).",
-          Opt.STRING, Opt.LINKED, Opt.MULTI, Opt.GLOB,
+          Opt.STRING, Opt.LINKED, Opt.MULTIVALUE, Opt.GLOB,
           Opt.ALLOWSUBSTITUTIONS, Opt.INPUT, Opt.PRIMARY),
   TITLE(Type.OPENING,
           "Specifies the title for the open alignment window as string.",
-          Opt.STRING, Opt.LINKED),
+          Opt.STRING, Opt.LINKED, Opt.ALLOWMULTIID),
   COLOUR(Type.OPENING, "color", // being a bit soft on the Americans!
           "Applies the colour scheme to the open alignment window. Valid values include:\n"
                   + "clustal,\n" + "blosum62,\n" + "pc-identity,\n"
@@ -97,98 +97,103 @@ public enum Arg
                   + "Names of user defined colourschemes will also work,\n"
                   + "and jalview colourscheme specifications like\n"
                   + "--colour=\"D,E=red; K,R,H=0022FF; C,c=yellow\"",
-          Opt.STRING, Opt.LINKED, Opt.ALLOWALL),
+          Opt.STRING, Opt.LINKED, Opt.ALLOWMULTIID),
   FEATURES(Type.OPENING, "Add a feature file or URL to the open alignment.",
-          Opt.STRING, Opt.LINKED, Opt.MULTI, Opt.ALLOWSUBSTITUTIONS),
+          Opt.STRING, Opt.LINKED, Opt.MULTIVALUE, Opt.ALLOWSUBSTITUTIONS,
+          Opt.ALLOWMULTIID),
   TREE(Type.OPENING, "Add a tree file or URL to the open alignment.",
-          Opt.STRING, Opt.LINKED, Opt.MULTI, Opt.ALLOWSUBSTITUTIONS),
+          Opt.STRING, Opt.LINKED, Opt.MULTIVALUE, Opt.ALLOWSUBSTITUTIONS,
+          Opt.ALLOWMULTIID),
   SORTBYTREE(Type.OPENING,
           "Enforces sorting (or not sorting) the open alignment in the order of an attached phylogenetic tree.",
-          true, Opt.LINKED, Opt.BOOLEAN, Opt.ALLOWALL),
+          true, Opt.LINKED, Opt.BOOLEAN, Opt.ALLOWMULTIID),
   ANNOTATIONS(Type.OPENING,
           "Add an annotations file or URL to the open alignment.",
-          Opt.STRING, Opt.LINKED, Opt.MULTI, Opt.ALLOWSUBSTITUTIONS),
+          Opt.STRING, Opt.LINKED, Opt.MULTIVALUE, Opt.ALLOWSUBSTITUTIONS,
+          Opt.ALLOWMULTIID),
   SHOWANNOTATIONS(Type.OPENING,
           "Enforces showing (or not showing) alignment annotations.",
-          Opt.BOOLEAN, Opt.LINKED, Opt.ALLOWALL),
+          Opt.BOOLEAN, Opt.LINKED, Opt.ALLOWMULTIID, Opt.ALLOWMULTIID),
   WRAP(Type.OPENING,
           "Enforces wrapped (or not wrapped) alignment formatting.",
-          Opt.BOOLEAN, Opt.LINKED, Opt.ALLOWALL),
+          Opt.BOOLEAN, Opt.LINKED, Opt.ALLOWMULTIID, Opt.ALLOWMULTIID),
   NOSTRUCTURE(Type.OPENING,
           "Do not open or process any 3D structure in the ‑‑open or ‑‑append files.",
-          Opt.UNARY, Opt.LINKED, Opt.ALLOWALL),
+          Opt.UNARY, Opt.LINKED, Opt.ALLOWMULTIID, Opt.ALLOWMULTIID),
 
   // Adding a 3D structure
   STRUCTURE(Type.STRUCTURE,
           "Load a structure file or URL associated with a sequence in the open alignment.\n"
                   + "The sequence to be associated with can be specified with a following --seqid argument, or the subval modifier seqid=ID can be used. A subval INDEX can also be used to specify the INDEX-th sequence in the open alignment.",
-          Opt.STRING, Opt.LINKED, Opt.MULTI, Opt.ALLOWSUBSTITUTIONS,
-          Opt.PRIMARY),
+          Opt.STRING, Opt.LINKED, Opt.MULTIVALUE, Opt.ALLOWSUBSTITUTIONS,
+          Opt.PRIMARY, Opt.ALLOWMULTIID),
   SEQID(Type.STRUCTURE,
           "Specify the sequence name for the preceding --structure to be associated with.",
-          Opt.STRING, Opt.LINKED, Opt.MULTI, Opt.ALLOWSUBSTITUTIONS),
+          Opt.STRING, Opt.LINKED, Opt.MULTIVALUE, Opt.ALLOWSUBSTITUTIONS,
+          Opt.ALLOWMULTIID),
   PAEMATRIX(Type.STRUCTURE,
           "Add a PAE json matrix file to the preceding --structure.",
-          Opt.STRING, Opt.LINKED, Opt.MULTI, Opt.ALLOWSUBSTITUTIONS),
+          Opt.STRING, Opt.LINKED, Opt.MULTIVALUE, Opt.ALLOWSUBSTITUTIONS,
+          Opt.ALLOWMULTIID),
   TEMPFAC(Type.STRUCTURE,
           "Set the type of temperature factor. Possible values are:\n"
                   + "default,\n" + "plddt.",
-          Opt.STRING, Opt.LINKED),
+          Opt.STRING, Opt.LINKED, Opt.ALLOWMULTIID),
   STRUCTUREVIEWER(Type.STRUCTURE,
           "Set the structure viewer to use to open the 3D structure file specified in previous --structure to name. Possible values of name are:\n"
                   + "none,\n" + "jmol,\n" + "chimera,\n" + "chimerax,\n"
                   + "pymol.",
-          Opt.STRING, Opt.LINKED, Opt.MULTI),
+          Opt.STRING, Opt.LINKED, Opt.MULTIVALUE, Opt.ALLOWMULTIID),
   NOTEMPFAC(Type.STRUCTURE,
           "Do not show the temperature factor annotation for the preceding --structure.",
-          Opt.UNARY, Opt.LINKED, Opt.ALLOWALL, Opt.SECRET), // keep this secret
+          Opt.UNARY, Opt.LINKED, Opt.ALLOWMULTIID, Opt.SECRET), // keep this secret
                                                             // until it works!
   SHOWSSANNOTATIONS(Type.STRUCTURE, null, Opt.BOOLEAN, Opt.LINKED,
-          Opt.ALLOWALL),
+          Opt.ALLOWMULTIID),
 
   // Outputting files
   IMAGE(Type.IMAGE,
           "Output an image of the open alignment window. Format is specified by the subval modifier, a following --type argument or guessed from the file extension. Valid formats/extensions are:\n"
                   + "svg,\n" + "png,\n" + "eps,\n" + "html,\n" + "biojs.",
-          Opt.STRING, Opt.LINKED, Opt.ALLOWSUBSTITUTIONS, Opt.ALLOWALL,
+          Opt.STRING, Opt.LINKED, Opt.ALLOWSUBSTITUTIONS, Opt.ALLOWMULTIID,
           Opt.REQUIREINPUT, Opt.OUTPUTFILE, Opt.PRIMARY),
   TYPE(Type.IMAGE,
           "Set the image format for the preceding --image. Valid values are:\n"
                   + "svg,\n" + "png,\n" + "eps,\n" + "html,\n" + "biojs.",
-          Opt.STRING, Opt.LINKED, Opt.ALLOWALL),
+          Opt.STRING, Opt.LINKED, Opt.ALLOWMULTIID),
   TEXTRENDERER(Type.IMAGE,
           "Sets whether text in a vector image format (SVG, HTML, EPS) should be rendered as text or vector line-art. Possible values are:\n"
                   + "text,\n" + "lineart.",
-          Opt.STRING, Opt.LINKED, Opt.ALLOWALL),
+          Opt.STRING, Opt.LINKED, Opt.ALLOWMULTIID),
   SCALE(Type.IMAGE,
           "Sets a scaling for bitmap image format (PNG). Should be given as a floating point number. If used in conjunction with --width and --height then the smallest scaling will be used (scale, width and height provide bounds for the image).",
-          Opt.STRING, Opt.LINKED, Opt.ALLOWALL),
+          Opt.STRING, Opt.LINKED, Opt.ALLOWMULTIID),
   WIDTH(Type.IMAGE,
           "Sets a width for bitmap image format (PNG) with the height maintaining the aspect ratio. Should be given as a positive integer. If used in conjunction with --scale and --height then the smallest scaling will be used (scale, width and height provide bounds for the image).",
-          Opt.STRING, Opt.LINKED, Opt.ALLOWALL),
+          Opt.STRING, Opt.LINKED, Opt.ALLOWMULTIID),
   HEIGHT(Type.IMAGE,
           "Sets a height for bitmap image format (PNG) with the width maintaining the aspect ratio. Should be given as a positive integer. If used in conjunction with --scale and --width then the smallest scaling will be used (scale, width and height provide bounds for the image).",
-          Opt.STRING, Opt.LINKED, Opt.ALLOWALL),
+          Opt.STRING, Opt.LINKED, Opt.ALLOWMULTIID),
   STRUCTUREIMAGE(Type.STRUCTUREIMAGE,
           "Export an image of a 3D structure opened in JMOL", Opt.STRING,
-          Opt.LINKED, Opt.MULTI, Opt.OUTPUTFILE),
+          Opt.LINKED, Opt.MULTIVALUE, Opt.OUTPUTFILE, Opt.ALLOWMULTIID),
   STRUCTUREIMAGETYPE(Type.STRUCTUREIMAGE,
           "Set the structure image format for the preceding --structureimage. Valid values are:\n"
                   + "svg,\n" + "png,\n" + "eps,\n" + "html,\n" + "biojs.",
-          Opt.STRING, Opt.LINKED, Opt.ALLOWALL),
+          Opt.STRING, Opt.LINKED, Opt.ALLOWMULTIID),
   STRUCTUREIMAGETEXTRENDERER(Type.STRUCTUREIMAGE,
           "Sets whether text in a vector structure image format (SVG, EPS) should be rendered as text or vector line-art. Possible values are:\n"
                   + "text,\n" + "lineart.",
-          Opt.STRING, Opt.LINKED, Opt.ALLOWALL),
+          Opt.STRING, Opt.LINKED, Opt.ALLOWMULTIID),
   STRUCTUREIMAGESCALE(Type.STRUCTUREIMAGE,
           "Sets a scaling for bitmap structure image format (PNG). Should be given as a floating point number. If used in conjunction with --structureimagewidth and --structureimageheight then the smallest scaling will be used (structureimagescale, structureimagewidth and structureimageheight provide bounds for the structure image).",
-          Opt.STRING, Opt.LINKED, Opt.ALLOWALL),
+          Opt.STRING, Opt.LINKED, Opt.ALLOWMULTIID),
   STRUCTUREIMAGEWIDTH(Type.STRUCTUREIMAGE,
           "Sets a width for bitmap structure image format (PNG) with the height maintaining the aspect ratio. Should be given as a positive integer. If used in conjunction with --structureimagescale and --structureimageheight then the smallest scaling will be used (structureimagescale, structureimagewidth and structureimageheight provide bounds for the structure image).",
-          Opt.STRING, Opt.LINKED, Opt.ALLOWALL),
+          Opt.STRING, Opt.LINKED, Opt.ALLOWMULTIID),
   STRUCTUREIMAGEHEIGHT(Type.STRUCTUREIMAGE,
           "Sets a height for bitmap structure image format (PNG) with the width maintaining the aspect ratio. Should be given as a positive integer. If used in conjunction with --structureimagescale and --structureimagewidth then the smallest scaling will be used (structureimagescale, structureimagewidth and structureimageheight provide bounds for the structure image).",
-          Opt.STRING, Opt.LINKED, Opt.ALLOWALL),
+          Opt.STRING, Opt.LINKED, Opt.ALLOWMULTIID),
 
   OUTPUT(Type.OUTPUT,
           "Export the open alignment to file filename. The format name is specified by the subval modifier format=name, a following --format name argument or guessed from the file extension. Valid format names (and file extensions) are:\n"
@@ -198,32 +203,32 @@ public enum Arg
                   + "pileup (pileup),\n" + "msf (msf),\n"
                   + "clustal (aln),\n" + "phylip (phy),\n"
                   + "jalview (jvp, jar).",
-          Opt.STRING, Opt.LINKED, Opt.ALLOWSUBSTITUTIONS, Opt.ALLOWALL,
+          Opt.STRING, Opt.LINKED, Opt.ALLOWSUBSTITUTIONS, Opt.ALLOWMULTIID,
           Opt.REQUIREINPUT, Opt.OUTPUTFILE, Opt.STDOUT, Opt.PRIMARY),
   FORMAT(Type.OUTPUT,
           "Sets the format for the preceding --output file. Valid formats are:\n"
                   + "fasta,\n" + "pfam,\n" + "stockholm,\n" + "pir,\n"
                   + "blc,\n" + "amsa,\n" + "json,\n" + "pileup,\n"
                   + "msf,\n" + "clustal,\n" + "phylip,\n" + "jalview.",
-          Opt.STRING, Opt.LINKED, Opt.ALLOWALL),
+          Opt.STRING, Opt.LINKED, Opt.ALLOWMULTIID),
   GROOVY(Type.PROCESS,
           "Process a groovy script in the file for the open alignment.",
-          Opt.STRING, Opt.LINKED, Opt.MULTI, Opt.ALLOWSUBSTITUTIONS,
-          Opt.ALLOWALL),
+          Opt.STRING, Opt.LINKED, Opt.MULTIVALUE, Opt.ALLOWSUBSTITUTIONS,
+          Opt.ALLOWMULTIID),
   BACKUPS(Type.OUTPUT,
           "Enable (or disable) writing backup files when saving an ‑‑output file. This applies to the current open alignment.  To apply to all ‑‑output and ‑‑image files, use after ‑‑all.",
-          true, Opt.BOOLEAN, Opt.LINKED, Opt.ALLOWALL),
+          true, Opt.BOOLEAN, Opt.LINKED, Opt.ALLOWMULTIID),
   OVERWRITE(Type.OUTPUT,
           "Enable (or disable) overwriting of output files without backups enabled. This applies to the current open alignment.  To apply to all ‑‑output and ‑‑image files, use after ‑‑all.",
-          Opt.BOOLEAN, Opt.LINKED, Opt.ALLOWALL),
+          Opt.BOOLEAN, Opt.LINKED, Opt.ALLOWMULTIID),
   CLOSE(Type.OPENING,
           "Close the current open alignment window. This occurs after other output arguments. This applies to the current open alignment.  To apply to all ‑‑output and ‑‑image files, use after ‑‑all.",
-          Opt.UNARY, Opt.LINKED, Opt.ALLOWALL),
+          Opt.UNARY, Opt.LINKED, Opt.ALLOWMULTIID),
 
   // controlling flow of arguments
   NEW(Type.FLOW,
           "Move on to a new alignment window. This will ensure --append will start a new alignment window and other linked arguments will apply to the new alignment window.",
-          Opt.UNARY, Opt.MULTI, Opt.NOACTION, Opt.INCREMENTDEFAULTCOUNTER),
+          Opt.UNARY, Opt.MULTIVALUE, Opt.NOACTION, Opt.INCREMENTDEFAULTCOUNTER),
   SUBSTITUTIONS(Type.FLOW,
           "The following argument values allow (or don't allow) subsituting filename parts. This is initially true. Valid substitutions are:\n"
                   + "{basename} - the filename-without-extension of the currently --opened file (or first --appended file),\n"
@@ -233,22 +238,22 @@ public enum Arg
                   + "{n} - the value of the index counter (starting at 0).\n"
                   + "{++n} - increase and substitute the value of the index counter,\n"
                   + "{} - the value of the current alignment window default index.",
-          true, Opt.BOOLEAN, Opt.MULTI, Opt.NOACTION),
+          true, Opt.BOOLEAN, Opt.MULTIVALUE, Opt.NOACTION),
   ARGFILE(Type.FLOW,
           "Open one or more files filename and read, line-by-line, as arguments to Jalview.\n"
                   + "Values in an argfile should be given with an equals sign (\"=\") separator with no spaces.\n"
                   + "Note that if you use one or more --argfile arguments then all other non-initialising arguments will be ignored.",
-          Opt.STRING, Opt.MULTI, Opt.BOOTSTRAP, Opt.GLOB,
+          Opt.STRING, Opt.MULTIVALUE, Opt.BOOTSTRAP, Opt.GLOB,
           Opt.ALLOWSUBSTITUTIONS),
   NPP(Type.FLOW, "n++",
           "Increase the index counter used in argument value substitutions.",
-          Opt.UNARY, Opt.MULTI, Opt.NOACTION),
+          Opt.UNARY, Opt.MULTIVALUE, Opt.NOACTION),
   ALL(Type.FLOW,
           "Apply the following output arguments to all sets of linked arguments.",
-          Opt.BOOLEAN, Opt.MULTI, Opt.NOACTION),
+          Opt.BOOLEAN, Opt.MULTIVALUE, Opt.NOACTION),
   OPENED(Type.FLOW,
           "Apply the following output arguments to all of the last --open'ed set of linked arguments.",
-          Opt.BOOLEAN, Opt.MULTI, Opt.NOACTION),
+          Opt.BOOLEAN, Opt.MULTIVALUE, Opt.NOACTION),
   QUIT(Type.FLOW,
           "After all files have been opened, appended and output, quit Jalview. In ‑‑headless mode this already happens.",
           Opt.UNARY),
@@ -257,26 +262,26 @@ public enum Arg
           Opt.UNARY, Opt.SECRET),
   ALLSTRUCTURES(Type.FLOW,
           "Apply the following 3D structure formatting arguments to all structures within the open alignment.",
-          Opt.BOOLEAN, Opt.MULTI, Opt.NOACTION),
+          Opt.BOOLEAN, Opt.MULTIVALUE, Opt.NOACTION),
 
   // secret options
   TESTOUTPUT(Type.CONFIG,
           "Allow specific stdout information.  For testing purposes only.",
           Opt.UNARY, Opt.BOOTSTRAP, Opt.SECRET), // do not show this to the user
   SETPROP(Type.CONFIG, "Set an individual Java System property.",
-          Opt.STRING, Opt.MULTI, Opt.BOOTSTRAP, Opt.SECRET), // not in use yet
+          Opt.STRING, Opt.MULTIVALUE, Opt.BOOTSTRAP, Opt.SECRET), // not in use yet
   NIL(Type.FLOW,
           "This argument does nothing on its own, but can be used with linkedIds.",
-          Opt.UNARY, Opt.LINKED, Opt.MULTI, Opt.NOACTION, Opt.SECRET),
+          Opt.UNARY, Opt.LINKED, Opt.MULTIVALUE, Opt.NOACTION, Opt.SECRET),
 
   // private options (inserted during arg processing)
   SETARGFILE(Type.FLOW,
           "Sets the current value of the argfilename.  Inserted before argfilecontents.",
-          Opt.UNARY, Opt.LINKED, Opt.STRING, Opt.MULTI, Opt.PRIVATE,
+          Opt.UNARY, Opt.LINKED, Opt.STRING, Opt.MULTIVALUE, Opt.PRIVATE,
           Opt.NOACTION),
   UNSETARGFILE(Type.FLOW,
           "Unsets the current value of the argfilename.  Inserted after argfile contents.",
-          Opt.UNARY, Opt.LINKED, Opt.MULTI, Opt.PRIVATE, Opt.NOACTION),
+          Opt.UNARY, Opt.LINKED, Opt.MULTIVALUE, Opt.PRIVATE, Opt.NOACTION),
 
   // these last two have no purpose in the normal Jalview application but are
   // used by jalview.bin.Launcher to set memory settings. They are not used by
@@ -315,7 +320,7 @@ public enum Arg
      * A MULTI Arg can be specified multiple times.
      * Multiple values are stored in the ArgValuesMap (along with their positional index) for each linkedId.
      */
-    MULTI("can be specified multiple times"),
+    MULTIVALUE("can be specified multiple times"),
     /*
      * A Linked Arg can be linked to others through a --arg[linkedId] or --arg[linkedId]=value.
      * If no linkedId is specified then the current default linkedId will be used.
@@ -362,7 +367,7 @@ public enum Arg
     /*
      * An ALLOWALL Arg can use the '*' linkedId to apply to all known linkedIds
      */
-    ALLOWALL("can be used with " + ArgParser.DOUBLEDASH + "all"),
+    ALLOWMULTIID("can be used with " + ArgParser.DOUBLEDASH + "all"),
     /*
      * If an Arg has the INCREMENTDEFAULTCOUNTER option and the default linkedId is used,
      * the defaultLinkedIdCounter is incremented *first*.