diff options
author | Cedric Beust <cedric@beust.com> | 2012-11-10 10:29:37 -0800 |
---|---|---|
committer | Cedric Beust <cedric@beust.com> | 2012-11-10 10:29:37 -0800 |
commit | d5490aabc6002f9400e5cf3050f098ab967253d2 (patch) | |
tree | 01c39b7ee81626b3f4f3cbe8e7107f43124455c8 /src/main | |
parent | 2e7ae2b785a7d246ffaccaa1f57a06a7c8f6626a (diff) | |
download | jcommander-d5490aabc6002f9400e5cf3050f098ab967253d2.tar.gz |
Fixed: GITHUB-107: Allow enum values without converting them to uppercase.
Diffstat (limited to 'src/main')
-rw-r--r-- | src/main/java/com/beust/jcommander/JCommander.java | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/main/java/com/beust/jcommander/JCommander.java b/src/main/java/com/beust/jcommander/JCommander.java index efde39e..4f2929e 100644 --- a/src/main/java/com/beust/jcommander/JCommander.java +++ b/src/main/java/com/beust/jcommander/JCommander.java @@ -1263,7 +1263,10 @@ public class JCommander { String optionName = names.length > 0 ? names[0] : "[Main class]"; if (converterClass != null && converterClass.isEnum()) { try { - result = Enum.valueOf((Class<? extends Enum>) converterClass, value.toUpperCase()); + result = Enum.valueOf((Class<? extends Enum>) converterClass, value); + if (result == null) { + result = Enum.valueOf((Class<? extends Enum>) converterClass, value.toUpperCase()); + } } catch (Exception e) { throw new ParameterException("Invalid value for " + optionName + " parameter. Allowed values:" + EnumSet.allOf((Class<? extends Enum>) converterClass)); |