Support plain boolean without option annotations

- Fix so that we can have `boolean arg` without using
  `@Option` or `@ShellOption` defaulting to false.
- Fixes #744
This commit is contained in:
Janne Valkealahti
2023-05-20 14:49:21 +01:00
parent 96402a79b6
commit 8bed75ad77
5 changed files with 43 additions and 27 deletions

View File

@@ -331,6 +331,8 @@ class CommandRegistrationFactoryBean implements FactoryBean<CommandRegistration>
optionSpec.position(mp.getParameterIndex());
if (ClassUtils.isAssignable(boolean.class, parameterType)) {
optionSpec.arity(OptionArity.ZERO_OR_ONE);
optionSpec.required(false);
optionSpec.defaultValue("false");
}
else if (ClassUtils.isAssignable(Boolean.class, parameterType)) {
optionSpec.arity(OptionArity.ZERO_OR_ONE);