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!
java jewelcli maven
Commentami!