Parsing della riga di comando in Java con parse-cmd

Mattepuffo's logo
Parsing della riga di comando in Java con parse-cmd

Parsing della riga di comando in Java con parse-cmd

La libreria che andremo a vedere oggi per il parsing della riga di comando in Java, rispetto alle altre che abbiamo già visto, è formata da una sola classe.

Quindi, se volete, potete anche copiarvi direttamente la classe da GitHub invece di includere il JAR.

Comunque risulta completa lo stesso, anche se così leggera.

Vediamo un esempio:

import java.util.Map;

public class Main {

    public static void main(String[] args) {
        String usage = "usage: --nome  [--verbose 0]";
        ParseCmd cmd = new ParseCmd.Builder()
                .help(usage)
                .parm("--nome", "").req()
                .parm("--verbose", "0").rex("^[01]{1}$")
                .build();

//        String[] arguments = {"--nome", "Mattepuffo"};
        String[] arguments = {"--nome", "Mattepuffo", "--verbose", "1"};
        String errors = cmd.validate(arguments);
        if (!errors.isEmpty()) {
            System.out.println("ERRORI: " + errors);
        }
        Map<String, String> parsedArguments = cmd.parse(arguments);
        String nome = parsedArguments.get("--nome");
        String verbs = parsedArguments.get("--verbose");
        System.out.println("Ciao " + nome);
        System.out.println("Verbosità " + verbs);
    }

}

Come sempre vi metto più array di argomenti, così fate un pò di prove.

Il metodo parm, consente di aggiungere tutti i vari parametri da passare alla riga di comando.

Ed accetta due parametri, di cui il secondo è un valore di default.

Il metodo req serve per indicare se un parametro è obbligatorio o meno.

Sotto controlliamo eventuali errori, ed in caso li stampiamo.

Più sotto ancora facciamo il parse con il metodo omonimo, che ritorna una Map.

Infine stampiamo i valori.

Enjoy!


Condividi

Commentami!