HelloWorld_4

Here we've added an UnflaggedOption to greet specific names. It's marked as "greedy", so any number of names on the command line are associated with this option.

    public static void main(String[] args) throws Exception {
        JSAP jsap = new JSAP();

        FlaggedOption opt1 = new FlaggedOption("count")
                                .setStringParser(JSAP.INTEGER_PARSER)
                                .setDefault("1")
                                .setRequired(true)
                                .setShortFlag('n')
                                .setLongFlag(JSAP.NO_LONGFLAG);

        jsap.registerParameter(opt1);

        Switch sw1 = new Switch("verbose")
                        .setShortFlag('v')
                        .setLongFlag("verbose");

        jsap.registerParameter(sw1);

        // Create an unflagged option called "names" that we'll use to
        // say hello to particular people.
        // To make it more interesting, we'll make it "greedy", so
        // it consumes all remaining unflagged tokens on the command line
        // as multiple values
        UnflaggedOption opt2 = new UnflaggedOption("name")
                                .setStringParser(JSAP.STRING_PARSER)
                                .setDefault("World")
                                .setRequired(false)
                                .setGreedy(true);

        jsap.registerParameter(opt2);

        JSAPResult config = jsap.parse(args);

        String[] names = config.getStringArray("name");
        for (int i = 0; i < config.getInt("count"); ++i) {
            for (int j = 0; j < names.length; ++j) {
                System.out.println(
                    (config.getBoolean("verbose") ? "Hello" : "Hi")
                        + ", "
                        + names[j]
                        + "!");
            }
        }
    }
[mlamb@morbo]$ java com.martiansoftware.jsap.examples.Manual_HelloWorld_4 -n 2 --verbose Bender Fry Leela
Hello, Bender!
Hello, Fry!
Hello, Leela!
Hello, Bender!
Hello, Fry!
Hello, Leela!


[mlamb@morbo]$ java com.martiansoftware.jsap.examples.Manual_HelloWorld_4 Kif -n 3
Hi, Kif!
Hi, Kif!
Hi, Kif!


[mlamb@morbo]$ java com.martiansoftware.jsap.examples.Manual_HelloWorld_4 -v -n 2
Hello, World!
Hello, World!