Class CommandLineParser


  • public class CommandLineParser
    extends java.lang.Object
    Simple command line parser, handling multiple arguments and multiple unary and binary switches starting with -. Terms used: progname -binaryswitch foo -unaryswitch argument1 argument2
    Author:
    vegardh
    • Constructor Summary

      Constructors 
      Constructor Description
      CommandLineParser​(java.lang.String[] cmds)  
      CommandLineParser​(java.lang.String progname, java.lang.String[] cmds)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addLegalBinarySwitch​(java.lang.String s)
      Adds a legal binary switch without explanation
      void addLegalBinarySwitch​(java.lang.String s, java.lang.String explanation)
      Add a legal binary switch such as "-f /foo/bar"
      void addLegalUnarySwitch​(java.lang.String s)  
      void addLegalUnarySwitch​(java.lang.String s, java.lang.String explanation)
      Add a legal unary switch such as "-d"
      void addRequiredBinarySwitch​(java.lang.String s, java.lang.String explanation)
      Adds a required binary switch
      void addRequiredUnarySwitch​(java.lang.String s, java.lang.String explanation)
      Adds a required switch, such as -p
      java.util.List<java.lang.String> getArguments()
      All non-switch strings that were given on the command line
      java.util.Map<java.lang.String,​java.lang.String> getBinarySwitches()
      The binary switches that were given on the command line
      java.lang.String getHelpText()  
      java.util.List<java.lang.String> getUnarySwitches()
      The unary switches that were given on the command line
      boolean helpSwitchUsed()  
      void parse()
      Parses the command line
      void setArgumentExplanation​(java.lang.String argumentExplanation)
      Sets the argument explanation used in printing method, i.e.
      void setExtendedHelpText​(java.lang.String text)  
      void setMaxArguments​(int maxArguments)
      Sets the maximum number of allowed arguments
      void setMinArguments​(int minArguments)
      Sets minimum number of required arguments
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • CommandLineParser

        public CommandLineParser​(java.lang.String[] cmds)
      • CommandLineParser

        public CommandLineParser​(java.lang.String progname,
                                 java.lang.String[] cmds)
    • Method Detail

      • parse

        public void parse()
        Parses the command line
        Throws:
        java.lang.IllegalArgumentException - if a parse error occured
      • addLegalUnarySwitch

        public void addLegalUnarySwitch​(java.lang.String s,
                                        java.lang.String explanation)
        Add a legal unary switch such as "-d"
      • addLegalUnarySwitch

        public void addLegalUnarySwitch​(java.lang.String s)
      • addRequiredUnarySwitch

        public void addRequiredUnarySwitch​(java.lang.String s,
                                           java.lang.String explanation)
        Adds a required switch, such as -p
      • addLegalBinarySwitch

        public void addLegalBinarySwitch​(java.lang.String s,
                                         java.lang.String explanation)
        Add a legal binary switch such as "-f /foo/bar"
      • addLegalBinarySwitch

        public void addLegalBinarySwitch​(java.lang.String s)
        Adds a legal binary switch without explanation
      • addRequiredBinarySwitch

        public void addRequiredBinarySwitch​(java.lang.String s,
                                            java.lang.String explanation)
        Adds a required binary switch
      • getUnarySwitches

        public java.util.List<java.lang.String> getUnarySwitches()
        The unary switches that were given on the command line
      • getBinarySwitches

        public java.util.Map<java.lang.String,​java.lang.String> getBinarySwitches()
        The binary switches that were given on the command line
      • getArguments

        public java.util.List<java.lang.String> getArguments()
        All non-switch strings that were given on the command line
      • setArgumentExplanation

        public void setArgumentExplanation​(java.lang.String argumentExplanation)
        Sets the argument explanation used in printing method, i.e. "names,..."
      • setExtendedHelpText

        public void setExtendedHelpText​(java.lang.String text)
      • getHelpText

        public java.lang.String getHelpText()
      • setMinArguments

        public void setMinArguments​(int minArguments)
        Sets minimum number of required arguments
      • setMaxArguments

        public void setMaxArguments​(int maxArguments)
        Sets the maximum number of allowed arguments
      • helpSwitchUsed

        public boolean helpSwitchUsed()