public interface ToolProvider
必ずしも新しいVMを起動せずに呼び出す方法を提供するコマンド行ツールのインタフェース。
ツール・プロバイダは通常、ServiceLoader
によって定義されたサービス・プロバイダ・ローディング機能を使用して配置されます。 各プロバイダは、名前と、対応するツールのインスタンスを実行するためのメソッドを指定する必要があります。 ツールを実行すると、文字列引数の配列とストリームのペアが提供されます: 1つは通常の(予想される)出力用で、もう1つは発生する可能性のあるエラーを報告用です。 文字列引数の解釈は通常、個々のツール・プロバイダによって定義されますが、通常はコマンド行からツールを呼び出すときにツールに提供できる引数に対応します。
- 導入されたバージョン:
- 9
-
メソッドのサマリー
修飾子と型メソッド説明ツールの簡単な説明または説明がない場合は空のOptional
を返します。static Optional
<ToolProvider> システム・クラス・ローダーを使用してServiceLoader
によってロードされた、指定された名前を持つToolProvider
の最初のインスタンスを返します。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"などです。
- 戻り値:
- このツール・プロバイダの名前
-
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
-name
がnull
である場合
-