summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjeremysolarz <jeremy.solarz@gmail.com>2017-03-04 21:02:49 +0100
committerjeremysolarz <jeremy.solarz@gmail.com>2017-03-04 21:02:49 +0100
commitb8b4c04e6bbf70df9795d950c497ad97d24dcdc2 (patch)
tree636711cd038ba67c304f7008d173977806267f50
parent48c74faba9cb57e7892982cf8620fe5e8241b813 (diff)
downloadjcommander-b8b4c04e6bbf70df9795d950c497ad97d24dcdc2.tar.gz
Add method to get program name
-rw-r--r--src/main/java/com/beust/jcommander/JCommander.java11
-rw-r--r--src/test/java/com/beust/jcommander/JCommanderTest.java11
2 files changed, 20 insertions, 2 deletions
diff --git a/src/main/java/com/beust/jcommander/JCommander.java b/src/main/java/com/beust/jcommander/JCommander.java
index f672539..4e806ce 100644
--- a/src/main/java/com/beust/jcommander/JCommander.java
+++ b/src/main/java/com/beust/jcommander/JCommander.java
@@ -888,6 +888,13 @@ public class JCommander {
}
/**
+ * Get the program name (used only in the usage).
+ */
+ public String getProgramName(){
+ return programName == null ? null : programName.getName();
+ }
+
+ /**
* Set the program name
*
* @param name program name
@@ -993,7 +1000,7 @@ public class JCommander {
* Adds the provided arg object to the set of objects that this commander
* will parse arguments into.
*
- * @param object The arg object expected to contain {@link Parameter}
+ * @param o The arg object expected to contain {@link Parameter}
* annotations. If <code>object</code> is an array or is {@link Iterable},
* the child objects will be added instead.
*/
@@ -1050,7 +1057,7 @@ public class JCommander {
/**
* Adds a factory to lookup string converters. The added factory is used prior to previously added factories.
- * @param converterFactory the factory determining string converters
+ * @param factory the factory determining string converters
*/
public Builder addConverterFactory(IStringConverterFactory factory) {
jCommander.addConverterFactory(factory);
diff --git a/src/test/java/com/beust/jcommander/JCommanderTest.java b/src/test/java/com/beust/jcommander/JCommanderTest.java
index 62fa33e..9cec462 100644
--- a/src/test/java/com/beust/jcommander/JCommanderTest.java
+++ b/src/test/java/com/beust/jcommander/JCommanderTest.java
@@ -1415,6 +1415,17 @@ public class JCommanderTest {
Assert.assertEquals(args.mvParameters.to, "to");
}
+ public void programName() {
+ JCommander jcommander = new JCommander();
+ String programName = "main";
+ jcommander.setProgramName(programName);
+ StringBuilder sb = new StringBuilder();
+ jcommander.usage(sb);
+
+ Assert.assertTrue(sb.toString().contains(programName));
+ Assert.assertEquals(jcommander.getProgramName(), programName);
+ }
+
public void dontShowOptionUsageIfThereAreNoOptions() {
class CommandTemplate {
@Parameter