terrywb
terrywb

Reputation: 3956

Defining positional parameters with apache commons cli

I would like to define an Apache Commons CLI parser that includes named arguments and positional arguments.

program [-a optA] [-b optB] [-f] pos1 pos2

How do I validate pos1 and pos2?

Upvotes: 13

Views: 3360

Answers (1)

terrywb
terrywb

Reputation: 3956

One a quick read of the documentation, I was not aware the the CommandLine class would provide access to the remaining positional parameters.

After parsing the Options passed on the command line, the remaining arguments are available in the CommandLine.getArgs() method.

public static void main(String[] args) {
      DefaultParser clParse = new DefaultParser();
      Options opts = new Options();
      opts.addOption("a", true, "Option A");
      opts.addOption("b", true, "Option B");
      opts.addOption("f", false, "Flag F");

      CommandLine cmdLine = clParse.parse(opts, args); 
      System.out.println(cmdLine.getArgs().length);
}

Upvotes: 13

Related Questions