Parsing della riga di comando in Java con JCLAP

Parsing della riga di comando in Java con JCLAP

Praticamente tutte le librerie per il parsing della riga di comando in Java, sono abbastanza simili.

Ce ne stanno alcuni che sono un pò più compatti, e tra c'è JCLAP!

Per installarla usando Maven:

       <dependency>
            <groupId>net.snaq</groupId>
            <artifactId>jclap</artifactId>
            <version>1.4</version>
        </dependency>

Questo un codice di esempio:

import snaq.util.jclap.CLAParser;
import snaq.util.jclap.Option;
import snaq.util.jclap.OptionException;

public class Main {

    public static void main(String[] args) {
//        String[] arguments = {"-n", "Mattepuffo"};
        String[] arguments = {"-n", "Mattepuffo", "-v"};
//        String[] arguments = {"-v"};
        CLAParser parser = new CLAParser();
        try {
            Option fileNameOption = 
                    parser.addStringOption("n", "nome", "Tuo nome", 1, 1);
            Option verbosityOption = 
                    parser.addBooleanOption("v", "verbose", "Verbosità attiva o no");
            parser.parse(arguments);
            System.out.println("Nome: " + parser.getOptionValue(fileNameOption));
            System.out.println("Verbosità? " + parser.getOptionValue(verbosityOption));
        } catch (OptionException ex) {
            System.out.println(ex.getMessage());
            parser.printUsage(System.out, true);
        }
    }

}

Abbiamo impostato nome come obbligatorio; potete vedere che i vari metodi addXXX hanno vari overload.

Se un parametro obbligatorio non viene passato, il programma va in eccezione.

In quel caso visualiziamo il menu di utilizzo.

Molto easy!

Enjoy!