16 Aralık 2021 Perşembe

args4j - Command Line (CLI) Parsing

Gradle
Şu satırı dahil ederiz
dependencies {
  implementation 'args4j:args4j:2.32'
}
Bu kütüphaneyi kullanmak Apache CLI kütüphanesine göre daha kolay.

Örnek
Elimizde şöyle bir kod olsun. 
- name ile parametrenin kısa ismi belirtilir
- alias ile parametrenin uzum ismi belirtilir
- usage ile yardım metni belirtilir. 
- required ile parametrenin zorunlu olup olmadığı belirtilir
import org.kohsuke.args4j.Option;

public class CLIParams {
  
  String user;
  String password;
  
  boolean help;

  @Option(name = "-u", aliases = "--user", usage = "user name", required = true,
                 metaVar = "<name>")
  public void setUser(String user) {
    this.user = user;
  }

  @Option(name = "-p", usage = "password", required = true, metaVar = "<password>")
  public void setPassword(String password) {
    this.password = password;
  }

  @Option(name = "-h", usage = "help screen", required = false)
  public void setHelp(boolean help) {
    this.help = help;
  }
}
Şöyle yaparız
import org.kohsuke.args4j.CmdLineException;
import org.kohsuke.args4j.CmdLineParser;

public static void main(String[] args) {

  CLIParams params = new CLIParams();
  CmdLineParser cliParser = new CmdLineParser(params);
  try {
    cliParser.parseArgument(args);
    ...
  } catch (CmdLineException e) {
    showHelp();
    System.exit(1);
}

public void showHelp() {
  CLIParams params = new CLIParams();
  CmdLineParser cliParser = new CmdLineParser(params);
  cliParser.printUsage(System.out);
}


Hiç yorum yok:

Yorum Gönder