CLI Apache Commons - Option booléenne

Une option booléenne est représentée sur une ligne de commande par sa présence. Par exemple, si l'option est présente, alors sa valeur est true, sinon, elle est considérée comme false. Prenons l'exemple suivant, où nous imprimons la date actuelle et si l'indicateur -t est présent. Ensuite, nous imprimerons également l'heure.

Exemple

CLITester.java

import java.util.Calendar;
import java.util.Date;

import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.CommandLineParser;
import org.apache.commons.cli.DefaultParser;
import org.apache.commons.cli.Options;
import org.apache.commons.cli.ParseException;

public class CLITester {
   public static void main(String[] args) throws ParseException {
      Options options = new Options();
      options.addOption("t", false, "display time");
      
      CommandLineParser parser = new DefaultParser();
      CommandLine cmd = parser.parse( options, args);

      Calendar date = Calendar.getInstance();
      int day = date.get(Calendar.DAY_OF_MONTH);
      int month = date.get(Calendar.MONTH);
      int year = date.get(Calendar.YEAR);

      int hour = date.get(Calendar.HOUR);
      int min = date.get(Calendar.MINUTE);
      int sec = date.get(Calendar.SECOND);

      System.out.print(day + "/" + month + "/" + year);
      if(cmd.hasOption("t")) {
         System.out.print(" " + hour + ":" + min + ":" + sec);
      }
   }
}

Production

Exécutez le fichier sans passer aucune option et voyez le résultat.

java CLITester
12/11/2017

Exécutez le fichier, tout en passant -t comme option et voyez le résultat.

java CLITester
12/11/2017 4:13:10