summaryrefslogtreecommitdiffstats
path: root/src/main/java/com
diff options
context:
space:
mode:
authorCedric Beust <cedric@beust.com>2014-08-04 10:05:06 -0400
committerCedric Beust <cedric@beust.com>2014-08-04 10:05:06 -0400
commit742900192fb0dc2ee18463981267570cbd2acd2e (patch)
tree7a28909cf2edcd21451979018b0f2ac9e4ac523e /src/main/java/com
parentde233b128afd29605471abd1d17703a6b8c8ff4a (diff)
parent44ef916dcf74e46adbf7c2ae99643bd0e97c16e6 (diff)
downloadplatform_external_jcommander-742900192fb0dc2ee18463981267570cbd2acd2e.tar.gz
platform_external_jcommander-742900192fb0dc2ee18463981267570cbd2acd2e.tar.bz2
platform_external_jcommander-742900192fb0dc2ee18463981267570cbd2acd2e.zip
Merge pull request #191 from jconwell/master
Adding functionality that allows commands to be hidden from usage output
Diffstat (limited to 'src/main/java/com')
-rw-r--r--src/main/java/com/beust/jcommander/JCommander.java18
-rw-r--r--src/main/java/com/beust/jcommander/Parameters.java5
2 files changed, 16 insertions, 7 deletions
diff --git a/src/main/java/com/beust/jcommander/JCommander.java b/src/main/java/com/beust/jcommander/JCommander.java
index 04f98ba..ecbb1cd 100644
--- a/src/main/java/com/beust/jcommander/JCommander.java
+++ b/src/main/java/com/beust/jcommander/JCommander.java
@@ -1122,13 +1122,17 @@ public class JCommander {
// The magic value 3 is the number of spaces between the name of the option
// and its description
for (Map.Entry<ProgramName, JCommander> commands : m_commands.entrySet()) {
- ProgramName progName = commands.getKey();
- String dispName = progName.getDisplayName();
- out.append(indent).append(" " + dispName); // + s(spaceCount) + getCommandDescription(progName.name) + "\n");
-
- // Options for this command
- usage(progName.getName(), out, " ");
- out.append("\n");
+ Object arg = commands.getValue().getObjects().get(0);
+ Parameters p = arg.getClass().getAnnotation(Parameters.class);
+ if (!p.hidden()) {
+ ProgramName progName = commands.getKey();
+ String dispName = progName.getDisplayName();
+ out.append(indent).append(" " + dispName); // + s(spaceCount) + getCommandDescription(progName.name) + "\n");
+
+ // Options for this command
+ usage(progName.getName(), out, " ");
+ out.append("\n");
+ }
}
}
}
diff --git a/src/main/java/com/beust/jcommander/Parameters.java b/src/main/java/com/beust/jcommander/Parameters.java
index 9834ea0..f2e8c76 100644
--- a/src/main/java/com/beust/jcommander/Parameters.java
+++ b/src/main/java/com/beust/jcommander/Parameters.java
@@ -67,4 +67,9 @@ public @interface Parameters {
* An array of allowed command names.
*/
String[] commandNames() default {};
+
+ /**
+ * If true, this command won't appear in the usage().
+ */
+ boolean hidden() default false;
}