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

インタフェースToolProvider


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

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

    導入されたバージョン:
    9
    • メソッドの詳細

      • name

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

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

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

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