1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.rat.documentation.options;
20
21 import org.apache.commons.cli.Option;
22 import org.apache.commons.lang3.StringUtils;
23
24 public class CLIOption extends AbstractOption {
25
26 public static String createName(final Option option) {
27 return StringUtils.defaultIfBlank(option.getLongOpt(), option.getOpt());
28 }
29
30 public CLIOption(final Option option) {
31 super(option, createName(option));
32 }
33
34 @Override
35 public String getText() {
36 StringBuilder result = new StringBuilder();
37 if (option.getLongOpt() != null) {
38 result.append("--").append(option.getLongOpt());
39 if (option.getOpt() != null) {
40 result.append(" or -").append(option.getArgs());
41 }
42 } else {
43 result.append("-").append(option.getArgs());
44 }
45 return result.toString();
46 }
47
48 @Override
49 protected String cleanupName(final Option option) {
50 return createName(option);
51 }
52
53 @Override
54 public String getExample() {
55 StringBuilder sb = new StringBuilder("-");
56 if (option.getLongOpt() != null) {
57 sb.append("-").append(option.getLongOpt());
58 } else {
59 sb.append(option.getOpt());
60 }
61 if (option.hasArg()) {
62 String argName = StringUtils.defaultIfBlank(option.getArgName(), "Arg");
63 sb.append(" ").append(argName);
64 if (option.hasArgs()) {
65 sb.append(" [").append(argName).append("2 [").append(argName)
66 .append("3 [...]]] --");
67 }
68 }
69 return sb.toString();
70 }
71 }