From fd73531986bf3dc45870773ab950f1ae598056ac Mon Sep 17 00:00:00 2001 From: Janne Valkealahti Date: Fri, 24 Feb 2023 12:18:16 +0000 Subject: [PATCH] Document @Option long name - Relates #637 --- .../main/asciidoc/using-shell-options-definition.adoc | 10 ++++++++++ .../springframework/shell/docs/OptionSnippets.java | 11 ++++++++++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/spring-shell-docs/src/main/asciidoc/using-shell-options-definition.adoc b/spring-shell-docs/src/main/asciidoc/using-shell-options-definition.adoc index c39eb455..7a5dea65 100644 --- a/spring-shell-docs/src/main/asciidoc/using-shell-options-definition.adoc +++ b/spring-shell-docs/src/main/asciidoc/using-shell-options-definition.adoc @@ -15,6 +15,16 @@ include::{snippets}/OptionSnippets.java[tag=option-without-annotation] ---- ==== +`Option` annotation can be used to define an option name if you +don't want it to be same as argument name. + +==== +[source, java, indent=0] +---- +include::{snippets}/OptionSnippets.java[tag=option-with-option-annotation] +---- +==== + `@ShellOption` annotation can be used to define an option name if you don't want it to be same as argument name. diff --git a/spring-shell-docs/src/test/java/org/springframework/shell/docs/OptionSnippets.java b/spring-shell-docs/src/test/java/org/springframework/shell/docs/OptionSnippets.java index 60d952c8..6aeed7b1 100644 --- a/spring-shell-docs/src/test/java/org/springframework/shell/docs/OptionSnippets.java +++ b/spring-shell-docs/src/test/java/org/springframework/shell/docs/OptionSnippets.java @@ -21,12 +21,13 @@ import org.springframework.context.annotation.Bean; import org.springframework.shell.command.CommandRegistration; import org.springframework.shell.command.CommandRegistration.OptionArity; import org.springframework.shell.command.CommandRegistration.OptionNameModifier; +import org.springframework.shell.command.annotation.Option; import org.springframework.shell.standard.ShellMethod; import org.springframework.shell.standard.ShellOption; public class OptionSnippets { - class Dump1 { + class Dump1Legacy { // tag::option-with-annotation[] public String example(@ShellOption(value = { "--argx" }) String arg1) { return "Hello " + arg1; @@ -34,6 +35,14 @@ public class OptionSnippets { // end::option-with-annotation[] } + class Dump1 { + // tag::option-with-option-annotation[] + public String example(@Option(longNames = "argx") String arg1) { + return "Hello " + arg1; + } + // end::option-with-option-annotation[] + } + class Dump7 { // tag::option-with-annotation-without-prefix[] public String example(@ShellOption(value = { "argx" }) String arg1) {