1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.logging.log4j.core.util;
18
19 import com.beust.jcommander.JCommander;
20 import com.beust.jcommander.Parameter;
21
22 public class BasicCommandLineArguments {
23
24 public static <T extends BasicCommandLineArguments> T parseCommandLine(final String[] mainArgs, final Class<?> clazz,
25 final T args) {
26 final JCommander jCommander = new JCommander(args);
27 jCommander.setProgramName(clazz.getName());
28 jCommander.setCaseSensitiveOptions(false);
29 jCommander.parse(mainArgs);
30 if (args.isHelp()) {
31 jCommander.usage();
32 }
33 return args;
34 }
35
36 @Parameter(names = { "--help", "-?", "-h" }, help = true, description = "Prints this help.")
37 private boolean help;
38
39 public boolean isHelp() {
40 return help;
41 }
42
43 public void setHelp(boolean help) {
44 this.help = help;
45 }
46
47 }