Parsing della riga di comando in Java con CmdOption

Mattepuffo's logo
Parsing della riga di comando in Java con CmdOption

Parsing della riga di comando in Java con CmdOption

Oggi vediamo una libreria per il parsing della riga di comando in Java un pò differente rispetto agli ultimi: CmdOption!

Se usate Maven:

 

A questo creiamo una classe di configurazione, in cui impostiamo le opzioni:

import de.tototec.cmdoption.CmdOption;

public class CmdConfig {
    @CmdOption(names = {"--nome", "-n"}, description = "Il tuo nome", 
          minCount = 1, args = {"Nome"})
    String nome;

    @CmdOption(names = {"--verbose", "-v"}, description = "Be more verbose", 
          maxCount = 0)
    boolean verbose;

    @CmdOption(names = {"--help", "-h"}, description = "Help", isHelp = true)
    boolean help;
}

Poi nel main:

import de.tototec.cmdoption.CmdlineParser;

public class Main {

    public static void main(String[] args) {
        String[] arguments = {"-n", "Mattepuffo"};
        //String[] arguments = {"-n", "Mattepuffo", "-v"};
        //String[] arguments = {"-v"};
        //String[] arguments = {"-h"};

        CmdConfig config = new CmdConfig();
        CmdlineParser parser = new CmdlineParser(config);
        parser.parse(arguments);
        if (config.help) {
            parser.usage();
        }
        System.out.println("Il tuo nome: " + config.nome + ";
               Verbosità: " + config.verbose);
    }

}

Intercettiamo l'opzione -h per visualizzare l'help.

Nel caso in cui non passiamo -n, il programma andrà in eccezione, in quanto opzione "richiesta".

Ma l'eventuale eccezione dobbiamo gestirla a mano; la libreria non ha strumenti di default per le gestione di questi errori (o almeno io non ho trovato nulla al riguardo).

Enjoy!


Condividi

Commentami!