You can execute the command by specifying a parameter name while executing.
Example
@ShellComponent(value = "Named Parameters Demo")
public class NamedParams {
@ShellMethod(value = "Commands to print User Details", key = "get-user")
public String printUserDetails(String name, int age, String city) {
StringBuilder builder = new StringBuilder();
builder.append("Hello ").append(name).append("!!!!").append(". You are ").append(age)
.append(" years old and you are from ").append(city);
return builder.toString();
}
}
Using positional parameters, you can call the command ‘get-user’ like below.
get-user "Krishna" 29 "Bangalore"
You can call the above command using named parameters like below.
get-user --name "Krishna" --age 29 --city "Bangalore"
As you see above command, I executed the command using a parameter key (e.g. --arg value).
Named parameters can be reordered as desired.
get-user --age 29 --city "Bangalore" --name "Krishna"
You can even mix both named and positional parameters. The non by-name parameters are resolved in the order they appear
get-user --age 29 "Krishna" "Bangalore"
get-user "Krishna" "Bangalore" --age 29
shell:>get-user "Krishna" 29 "Bangalore" Hello Krishna!!!!. You are 29 years old and you are from Bangalore shell:> shell:>get-user --name "Krishna" --age 29 --city "Bangalore" Hello Krishna!!!!. You are 29 years old and you are from Bangalore shell:> shell:>get-user --age 29 --city "Bangalore" --name "Krishna" Hello Krishna!!!!. You are 29 years old and you are from Bangalore shell:> shell:>get-user --age 29 "Krishna" "Bangalore" Hello Krishna!!!!. You are 29 years old and you are from Bangalore shell:> shell:>get-user "Krishna" "Bangalore" --age 29 Hello Krishna!!!!. You are 29 years old and you are from Bangalore
You can download complete application from this link.
https://github.com/harikrishna553/springboot/tree/master/shell/hello-world
Previous Next Home
No comments:
Post a Comment