従来のアノテーション
標準 API を使用すると、Bean のメソッドは実行可能なコマンドに変換されます。
Bean クラスには
@ShellComponent
アノテーションが付いています。(これは、考慮される Bean のセットを制限するために使用されます。)このメソッドには
@ShellMethod
アノテーションが付いています。
アノテーションの |
@ShellComponent
static class MyCommands {
@ShellMethod
public void mycommand() {
}
}
@ShellMethod
アノテーションの唯一の必須属性は value
属性です。これには、コマンドが何を行うかを 1 文で短く説明する必要があります。これにより、ユーザーはシェルを離れることなく、コマンドに関する一貫したヘルプを得ることができます ( ヘルプを参照)。
コマンドの説明は短くする必要があります。1 つか 2 つの文を超えないようにしてください。一貫性を高めるために、大文字で始まり、ピリオドで終わる必要があります。 |
デフォルトでは、コマンドのキー (つまり、シェルでコマンドを呼び出すために使用する単語) を指定する必要はありません。メソッドの名前がコマンドキーとして使用され、camelCase の名前がダッシュ付きの GNU スタイルの名前に変換されます (たとえば、sayHello()
は say-hello
になります)。
ただし、アノテーションの key
属性を使用して、コマンドキーを明示的に設定できます。
@ShellMethod(value = "Add numbers.", key = "sum")
public int add(int a, int b) {
return a + b;
}
key 属性は、複数の値を受け入れます。1 つのメソッドに複数のキーを設定すると、コマンドはそれらの異なるエイリアスで登録されます。 |
コマンドキーには、スペースを含むほとんどすべての文字を含めることができます。ただし、名前を考え出すときは、一貫性がユーザーに高く評価されることが多いことに注意してください。つまり、破線の名前と空白の名前やその他の不一致を混在させないようにする必要があります。 |