1. Definition
Options can be defined within a target method as annotations in a method arguments
or with programmatically with CommandRegistration.
Having a target method with argument is automatically registered with a matching argument name.
public String example(String arg1) {
return "Hello " + arg1;
}
@ShellOption annotation can be used to define an option name if you
don’t want it to be same as argument name.
public String example(@ShellOption(value = { "--argx" }) String arg1) {
return "Hello " + arg1;
}
If option name is defined without prefix, either - or --, it is discovered
from ShellMethod#prefix.
public String example(@ShellOption(value = { "argx" }) String arg1) {
return "Hello " + arg1;
}
Programmatic way with CommandRegistration is to use method adding a long name.
CommandRegistration.builder()
.withOption()
.longNames("arg1")
.and()
.build();