Closed The4thLaw closed 4 months ago
The documentation at https://docs.spring.io/spring-shell/reference/commands/availability.html explains how one can achieve dynamic command availability.
However, it seems that the documented annotation is only applicable on @ShellMethod commands, i.e. using the legacy annotations.
@ShellMethod
The new @Command-based methods should apparently use @CommandAvailability and rely on the AvailabilityProvider functional interface.
@Command
@CommandAvailability
AvailabilityProvider
Perhaps the documentation should, also in this case, make a distinction between legacy and recommended annotations.
You're right about this. That section indeed feels confusing and not clear.
The documentation at https://docs.spring.io/spring-shell/reference/commands/availability.html explains how one can achieve dynamic command availability.
However, it seems that the documented annotation is only applicable on
@ShellMethod
commands, i.e. using the legacy annotations.The new
@Command
-based methods should apparently use@CommandAvailability
and rely on theAvailabilityProvider
functional interface.Perhaps the documentation should, also in this case, make a distinction between legacy and recommended annotations.