public interface ToolProvider
新しいVMを必ず起動しなくても、呼び出す方法を提供するコマンドライン・ツール用のインタフェース。
ツール・プロバイダは通常、ServiceLoader
によって定義されたサービス・プロバイダ・ローディング機能を使用して配置されます。 各プロバイダは、対応するツールのインスタンスを実行するための名前とメソッドを提供する必要があります。 ツールが実行されると、文字列引数の配列とストリームのペアが提供されます: 1つは通常の(予想される)出力用です。もう1つは発生する可能性のあるエラーを報告します。 文字列引数の解釈は通常、個々のツール・プロバイダによって定義されますが、コマンドラインからツールを呼び出すときにツールに提供できる引数に一般的に対応します。
- 導入されたバージョン:
- 9
-
メソッドのサマリー
修飾子と型メソッド説明static Optional<ToolProvider>
指定された名前を持つToolProvider
の最初のインスタンスを返します。システム・クラス・ローダーを使用してServiceLoader
によってロードされます。name()
このツール・プロバイダの名前を返します。default int
run
(PrintStream out, PrintStream err, String... args) ツールのインスタンスを実行し、成功した実行のためにゼロを返します。int
run
(PrintWriter out, PrintWriter err, String... args) ツールのインスタンスを実行し、成功した実行のためにゼロを返します。
-
メソッドの詳細
-
name
String name()このツール・プロバイダの名前を返します。- APIのノート:
- コマンドラインで使用される名前と同じ名前を使用することをお勧めします: たとえば、"javac"、"jar"、"jlink"。
- 戻り値:
- このツール・プロバイダの名前
-
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のノート:
- 引数の解釈は、各ツール固有のものとなります。
- 実装上のノート:
- この実装では、
out
ストリームとerr
ストリームをPrintWriter
s内にラップし、run(PrintWriter, PrintWriter, String[])
を呼び出します。 - パラメータ:
out
- "expected"出力を書き込むストリームerr
- エラー・メッセージを書き込むストリームargs
- ツールのコマンドライン引数- 戻り値:
- ツールを実行した結果。 戻り値が0の場合、ツールにエラーが発生していないことを意味します。他の値は、実行中に少なくとも1つのエラーが発生したことを示します。
- 例外:
NullPointerException
- 引数のいずれかがnull
の場合、またはargs
配列にnull
値がある場合
-
findFirst
static Optional<ToolProvider> findFirst(String name) 指定された名前を持つToolProvider
の最初のインスタンスを返します。システム・クラス・ローダーを使用してServiceLoader
によってロードされます。- パラメータ:
name
- 目的のツール・プロバイダの名前- 戻り値:
- 最初のインスタンスの
Optional<ToolProvider>
が見つかりました - 例外:
NullPointerException
-name
がnull
である場合
-