01: package org.kohsuke.args4j;
02:
03: /**
04: * Run-time copy of the Option or Argument annotation.
05: */
06: public final class NamedOptionDef extends OptionDef {
07: private final String name;
08: private final String[] aliases;
09:
10: public NamedOptionDef(Option o, boolean forceMultiValued) {
11: super (o.usage(), o.metaVar(), o.required(), o.handler(), o
12: .multiValued()
13: || forceMultiValued);
14:
15: this .name = o.name();
16: this .aliases = o.aliases();
17: }
18:
19: public String name() {
20: return name;
21: }
22:
23: public String[] aliases() {
24: return aliases;
25: }
26:
27: @Override
28: public String toString() {
29: if (aliases.length > 0) {
30: String str = "";
31: for (String alias : aliases) {
32: if (str.length() > 0) {
33: str += ", ";
34: }
35: str += alias;
36: }
37: return name() + " (" + str + ")";
38: }
39: return name();
40: }
41:
42: @Override
43: public boolean isArgument() {
44: return false;
45: }
46: }
|