モジュール java.base
パッケージ java.util.spi

インタフェースToolProvider


public interface ToolProvider
必ずしも新しいVMを起動せずに呼び出す方法を提供するコマンド行ツールのインタフェース。

ツール・プロバイダは通常、ServiceLoaderによって定義されたサービス・プロバイダ・ローディング機能を使用して配置されます。 各プロバイダは、名前と、対応するツールのインスタンスを実行するためのメソッドを指定する必要があります。 ツールを実行すると、文字列引数の配列とストリームのペアが提供されます: 1つは通常の(予想される)出力用で、もう1つは発生する可能性のあるエラーを報告用です。 文字列引数の解釈は通常、個々のツール・プロバイダによって定義されますが、通常はコマンド行からツールを呼び出すときにツールに提供できる引数に対応します。

導入されたバージョン:
9
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    default Optional<String>
    ツールの簡単な説明または説明がない場合は空のOptionalを返します。
    システム・クラス・ローダーを使用してServiceLoaderによってロードされた、指定された名前を持つToolProviderの最初のインスタンスを返します。
    このツール・プロバイダの名前を返します。
    default int
    run(PrintStream out, PrintStream err, String... args)
    ツールのインスタンスを実行し、正常に実行された場合はゼロを返します。
    int
    run(PrintWriter out, PrintWriter err, String... args)
    ツールのインスタンスを実行し、正常に実行された場合はゼロを返します。
  • メソッドの詳細

    • name

      String name()
      このツール・プロバイダの名前を返します。
      APIのノート:
      コマンドラインで使用される名前と同じ名前を使用することをお勧めします: たとえば、"javac"、"jar"、"jlink"などです。
      戻り値:
      このツール・プロバイダの名前
    • description

      default Optional<String> description()
      ツールの簡単な説明または説明がない場合は空のOptionalを返します。
      APIのノート:
      次のような簡潔な概要を作成できるように、説明は1行に収まることをお薦めします:
      
       jar
         Create, manipulate, and extract an archive of classes and resources.
       javac
         Read Java declarations and compile them into class files.
       jlink
         Assemble a set of modules (...) into a custom runtime image.
       
       
      実装要件:
      この実装は、空のOptionalを返します。
      戻り値:
      ツールの簡単な説明または説明がない場合は空のOptional
      導入されたバージョン:
      19
    • run

      int run(PrintWriter out, PrintWriter err, String... args)
      ツールのインスタンスを実行し、正常に実行された場合はゼロを返します。 ゼロ以外の戻り値は、実行中にツール固有のエラーを示します。 "expected"出力およびエラー・メッセージには、2つのストリームを指定する必要があります。 出力を区別する必要がない場合は、同じストリームを両方に使用できます。
      APIのノート:
      引数の解釈は、各ツールに固有です。
      パラメータ:
      out - "expected"出力を書き込むストリーム
      err - エラー・メッセージを書き込むストリーム
      args - ツールのコマンドライン引数
      戻り値:
      ツールの実行結果。 戻り値0は、ツールでエラーが発生しなかったことを意味します。その他の値は、実行中に少なくとも1つのエラーが発生したことを示します。
      例外:
      NullPointerException - 引数のいずれかがnullの場合、またはargs配列にnull値がある場合
    • run

      default int run(PrintStream out, PrintStream err, String... args)
      ツールのインスタンスを実行し、正常に実行された場合はゼロを返します。 ゼロ以外の戻り値は、実行中にツール固有のエラーを示します。 "expected"出力およびエラー・メッセージには、2つのストリームを指定する必要があります。 出力を区別する必要がない場合は、同じストリームを両方に使用できます。
      APIのノート:
      引数の解釈は、各ツールに固有です。
      実装上のノート:
      この実装では、PrintWriter内のoutおよびerrストリームがラップされ、run(PrintWriter, PrintWriter, String[])がコールされます。
      パラメータ:
      out - "expected"出力を書き込むストリーム
      err - エラー・メッセージを書き込むストリーム
      args - ツールのコマンドライン引数
      戻り値:
      ツールの実行結果。 戻り値0は、ツールでエラーが発生しなかったことを意味します。その他の値は、実行中に少なくとも1つのエラーが発生したことを示します。
      例外:
      NullPointerException - 引数のいずれかがnullの場合、またはargs配列にnull値がある場合
    • findFirst

      static Optional<ToolProvider> findFirst(String name)
      システム・クラス・ローダーを使用してServiceLoaderによってロードされた、指定された名前を持つToolProviderの最初のインスタンスを返します。
      パラメータ:
      name - 目的のツール・プロバイダの名前
      戻り値:
      最初のインスタンスのOptional<ToolProvider>が見つかりました
      例外:
      NullPointerException - namenullである場合