summaryrefslogtreecommitdiff
path: root/src/main/java/com/beust/jcommander/JCommander.java
diff options
context:
space:
mode:
authorCedric Beust <cedric@beust.com>2017-01-25 16:27:53 -0800
committerCedric Beust <cedric@beust.com>2017-01-25 16:27:53 -0800
commit77c70ce263acc56f359c6d6fe04b44efeb2d7187 (patch)
tree140891d299d4cd6e29314ae2fbd1d9f88e40c530 /src/main/java/com/beust/jcommander/JCommander.java
parent5d60be917de7770521e9fe57da9a69152488df0c (diff)
downloadjcommander-77c70ce263acc56f359c6d6fe04b44efeb2d7187.tar.gz
Fix GITHUB-322.
https://github.com/cbeust/jcommander/issues/322
Diffstat (limited to 'src/main/java/com/beust/jcommander/JCommander.java')
-rw-r--r--src/main/java/com/beust/jcommander/JCommander.java7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/main/java/com/beust/jcommander/JCommander.java b/src/main/java/com/beust/jcommander/JCommander.java
index 60ee09b..0af216c 100644
--- a/src/main/java/com/beust/jcommander/JCommander.java
+++ b/src/main/java/com/beust/jcommander/JCommander.java
@@ -797,12 +797,17 @@ public class JCommander {
} else if (index < args.length - 1) {
int offset = "--".equals(args[index + 1]) ? 1 : 0;
+ Object finalValue = null;
if (index + arity < args.length) {
for (int j = 1; j <= arity; j++) {
String value = trim(args[index + j + offset]);
- pd.addValue(arg, value, false, validate);
+ finalValue = pd.addValue(arg, value, false, validate);
requiredFields.remove(pd.getParameterized());
}
+
+ if (finalValue != null && validate) {
+ pd.validateValueParameter(arg, finalValue);
+ }
index += arity + offset;
} else {
throw new ParameterException("Expected " + arity + " values after " + arg);