アノテーションインターフェース Command


@RetentionSE(RUNTIMESE) @TargetSE({TYPESE,METHODSE}) @DocumentedSE @Reflective public @interface Command
メソッドをシェルコマンドターゲットの候補としてマークするアノテーション。
  • オプション要素の概要

    オプション要素
    修飾子と型
    オプションの要素
    説明
    エイリアスを配列として定義します。
    コマンドを配列として定義します。
    コマンドの説明を定義します。
    コマンドグループを定義します。
    boolean
    非表示にするコマンドを定義します。
    コマンドが使用可能になるときのヒントとして、コマンドの対話モードを定義します。
  • 要素の詳細

    • 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
      コマンドの説明を定義します。

      メソッドレベルだけでなく型レベルでもサポートされています。型レベルで使用される場合、すべてのメソッドレベルの記述はこのプライマリフィールドを継承します。メソッドレベルでオーバーライドできます。

      戻り値:
      コマンドの説明
      デフォルト:
      ""
    • hidden

      boolean hidden
      非表示にするコマンドを定義します。

      メソッドレベルだけでなく型レベルでもサポートされています。型レベルで使用される場合、すべてのメソッドレベルのマッピングはこのプライマリ非表示フィールドを継承します。

       @Command(hidden = true)
       class MyCommands {
      
         @Command
         void sub1(){
           // sub1 command is hidden
         }
       }
       
      戻り値:
      コマンドを非表示にする必要がある場合は true
      デフォルト:
      false
    • interactionMode

      InteractionMode[] interactionMode
      コマンドが使用可能になるときのヒントとして、コマンドの対話モードを定義します。たとえば、シェルが非対話モードで実行されている場合、その逆の場合、一部のコマンドの存在は意味を持ちません。

      メソッドレベルだけでなく型レベルでもサポートされています。型レベルで使用される場合、すべてのメソッドレベルのマッピングはこのプライマリフィールドを継承します。Type は、デフォルトには何も定義されていないことを示すことができる配列です。

      戻り値:
      インタラクションモード
      デフォルト:
      {}