38 lines
1.0 KiB
Plaintext
38 lines
1.0 KiB
Plaintext
[[using-shell-customization-commandnotfound]]
|
|
= Command Not Found
|
|
|
|
ifndef::snippets[:snippets: ../../test/java/org/springframework/shell/docs]
|
|
|
|
By default, a missing command is handled via `CommandNotFoundResultHandler`
|
|
and outputs a simple message:
|
|
|
|
[source, text]
|
|
----
|
|
shell:>missing
|
|
No command found for 'missing'
|
|
----
|
|
|
|
Internally, `CommandNotFoundResultHandler` is using `CommandNotFoundMessageProvider`
|
|
which is a simple function taking a `ProviderContext` and returning a text
|
|
message. Below is an example what a custom message provider might look like.
|
|
|
|
[source, java, indent=0]
|
|
----
|
|
include::{snippets}/CommandNotFoundSnippets.java[tag=custom-provider]
|
|
----
|
|
|
|
It's possible to change this implementation by defining it as a bean.
|
|
|
|
[source, java, indent=0]
|
|
----
|
|
include::{snippets}/CommandNotFoundSnippets.java[tag=provider-bean-1]
|
|
----
|
|
|
|
`CommandNotFoundResultHandler` is a functional interface so it can
|
|
be writter as a lambda.
|
|
|
|
[source, java, indent=0]
|
|
----
|
|
include::{snippets}/CommandNotFoundSnippets.java[tag=provider-bean-2]
|
|
----
|