| インタフェース | 説明 | 
|---|---|
| Diagnostic<S> | ツールからの診断情報を表示するインタフェースです。 | 
| DiagnosticListener<S> | ツールからの診断情報を受け取るインタフェースです。 | 
| DocumentationTool | プログラムからJava(tm)プログラミング言語ドキュメント・ツールを呼び出すインタフェースです。 | 
| DocumentationTool.DocumentationTask | ドキュメント・タスクのフューチャを表すインタフェースです。 | 
| FileObject | ツール用のファイルの抽象化です。 | 
| JavaCompiler | プログラムからJava(tm)プログラミング言語コンパイラを呼び出すインタフェースです。 | 
| JavaCompiler.CompilationTask | コンパイル・タスクの将来を表すインタフェースです。 | 
| JavaFileManager | Java(tm)プログラミング言語のソース・ファイルやクラス・ファイルを操作するツール向けのファイル・マネージャです。 | 
| JavaFileManager.Location | ファイル・オブジェクトの場所のインタフェースです。 | 
| JavaFileObject | Java(tm)プログラミング言語のソース・ファイルやクラス・ファイルを操作するツール向けのファイルの抽象化です。 | 
| OptionChecker | オプションを認識するインタフェースです。 | 
| StandardJavaFileManager | java.io.Fileに基づいたファイル・マネージャです。 | 
| Tool | プログラムから呼出し可能なツールの共通インタフェースです。 | 
| クラス | 説明 | 
|---|---|
| DiagnosticCollector<S> | 診断情報を簡単に収集し、リスト化する手段を提供します。 | 
| ForwardingFileObject<F extends FileObject> | 指定されたファイル・オブジェクトに呼出しを転送します。 | 
| ForwardingJavaFileManager<M extends JavaFileManager> | 指定されたファイル・マネージャに呼出しを転送します。 | 
| ForwardingJavaFileObject<F extends JavaFileObject> | 指定されたファイル・オブジェクトに呼出しを転送します。 | 
| SimpleJavaFileObject | JavaFileObjectに含まれる大部分のメソッドに対して、簡単な実装を提供します。 | 
| ToolProvider | コンパイラのプロバイダなど、ツール・プロバイダを検索するメソッドを提供します。 | 
| 列挙型 | 説明 | 
|---|---|
| Diagnostic.Kind | 診断情報の種類(エラー、警告など)です。 | 
| DocumentationTool.Location | DocumentationToolに固有の場所です。 | 
| JavaFileObject.Kind | JavaFileObjectの種類です。 | 
| StandardLocation | ファイル・オブジェクトの標準の場所です。 | 
これらのインタフェースおよびクラスはJava(tm) Platform, Standard Edition (Java SE)の一部として必須ですが、これらを実装するツールを提供する必要はありません。
このパッケージに含まれるすべてのメソッドは、明示的に許可されていないかぎり、引数としてnullが指定された場合、またはnull要素を含むリストまたはコレクションが指定された場合に、NullPointerExceptionをスローする可能性があります。同様に、明示的に許可されていないかぎり、どのメソッドもnullを返すことはできません。
 
このパッケージは、Javaプログラミング言語コンパイラ・フレームワークのホームです。このフレームワークのクライアントは、プログラムからコンパイラを検索し、実行することができます。このフレームワークは、ファイル・アクセスをオーバーライドするために使用するファイルの抽象化(JavaFileManagerとJavaFileObject)に加えて、診断情報の構造化アクセスに使用するサービス・プロバイダ・インタフェース(SPI)(DiagnosticListener)も提供します。SPIの使用方法の詳細は、JavaCompilerを参照してください。
実行時は、コンパイラは不要です。ただし、デフォルトのコンパイラが指定されている場合は、ToolProviderを使用して検索できます。次に例を示します。
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
 
サービス・プロバイダ・メカニズムを利用して、代替のコンパイラまたはツールを提供できます。
たとえば、com.vendor.VendorJavaCompilerがJavaCompilerツールのプロバイダである場合、そのjarファイルにはMETA-INF/services/javax.tools.JavaCompilerファイルが含まれます。このファイルには、次の行が含まれます。
 
com.vendor.VendorJavaCompiler
 
クラス・パスにjarファイルが存在する場合、次のようなコードを使ってVendorJavaCompilerを検索できます。
JavaCompiler compiler = ServiceLoader.load(JavaCompiler.class).iterator().next();
 バグまたは機能を送信 
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
 Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.