アノテーションインターフェース Command
@RetentionSE(RUNTIMESE)
@TargetSE({TYPESE,METHODSE})
@DocumentedSE
@Reflective
public @interface Command
メソッドをシェルコマンドターゲットの候補としてマークするアノテーション。
要素の詳細
command
StringSE[] commandコマンドを配列として定義します。コマンドがcommand1 sub1であるとすると、次のように定義できます。command = { "command1", "sub1" } command = "command1 sub1"値は分割およびトリミングされるため、スペースは関係ありません。メソッドレベルだけでなく型レベルでもサポートされています。型 レベルで使用される場合、すべてのメソッドレベルのマッピングはこのプライマリコマンドを継承してプレフィックスとして使用します。
@Command(command = "command1") class MyCommands { @Command(command = "sub1") void sub1(){} }- 戻り値:
- 配列としてのコマンド
- デフォルト:
- {}
alias
StringSE[] aliasエイリアスを配列として定義します。エイリアスがalias1 sub1である必要がある場合、次のように定義できます。alias = { "alias1", "sub1" } alias = "alias1 sub1"値は分割およびトリミングされるため、スペースは関係ありません。メソッドレベルだけでなく型レベルでもサポートされています。型レベルで使用される場合、すべてのメソッドレベルのマッピングはこのプライマリエイリアスを継承してプレフィックスとして使用します。
@Command(alias = "alias1") class MyCommands { @Command(alias = "sub1") void sub1(){} }- 戻り値:
- 配列としてのエイリアス
- デフォルト:
- {}
group
StringSE groupコマンドグループを定義します。メソッドレベルだけでなく型レベルでもサポートされています。型レベルで使用される場合、すべてのメソッドレベルのグループはこのプライマリグループを継承します。メソッドレベルでオーバーライドできます。
- 戻り値:
- コマンドグループ
- デフォルト:
- ""
description
StringSE descriptionコマンドの説明を定義します。メソッドレベルだけでなく型レベルでもサポートされています。型レベルで使用される場合、すべてのメソッドレベルの記述はこのプライマリフィールドを継承します。メソッドレベルでオーバーライドできます。
- 戻り値:
- コマンドの説明
- デフォルト:
- ""
interactionMode
InteractionMode[] interactionModeコマンドが使用可能になるときのヒントとして、コマンドの対話モードを定義します。たとえば、シェルが非対話モードで実行されている場合、その逆の場合、一部のコマンドの存在は意味を持ちません。メソッドレベルだけでなく型レベルでもサポートされています。型レベルで使用される場合、すべてのメソッドレベルのマッピングはこのプライマリフィールドを継承します。Type は、デフォルトには何も定義されていないことを示すことができる配列です。
- 戻り値:
- インタラクションモード
- デフォルト:
- {}