Parsing della riga di comando in Java con JewelCli

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

Parsing della riga di comando in Java con JewelCli

Ho scoperto un'altra (l'ennesima) libreria per eseguire il parsing degli argomenti della riga di comando in Java: JewelCli!

Abbastanza semplice da usare, ne vediamo un esempio.

Se usate Maven, aggiungete questa dipendenza:

        <dependency>
            <groupId>com.lexicalscope.jewelcli</groupId>
            <artifactId>jewelcli</artifactId>
            <version>0.8.9</version>
        </dependency>

Dopo di che, aggiungete una interfaccia di questo tipo:

import com.lexicalscope.jewel.cli.Option;

public interface MainCmd {

    @Option(shortName = "n", description = "Nome")
    String getNome();

    @Option(shortName = "v", description = "Modalità verbosa")
    boolean isVerboso();

    @Option(helpRequest = true, description = "Help")
    boolean getHelp();
}

Abbiamo impostato due opzioni (nome e verbosità), ed impostato anche la possibilità di stampare il classico help.

Richiamiamo il tutto così:

import com.lexicalscope.jewel.cli.CliFactory;

public class Main {

    public static void main(String[] args) {
//        String[] argomenti = {"-n", "Mattepuffo"};
//        String[] argomenti = {"-n", "Mattepuffo", "-v"};
        String[] argomenti = {"--help"};
        MainCmd mc = CliFactory.parseArguments(MainCmd.class, argomenti);
        System.out.println("Nome: " + mc.getNome() + "; Verboso? " 
                + mc.isVerboso());
    }

}

Provate usando i diversi argomenti per vedere come si comporta il programma.

Enjoy!


Condividi

Commentami!