- java.lang.Object
-
- javax.tools.ForwardingJavaFileManager<M>
-
- 型パラメータ:
M
- このオブジェクトによって転送されるファイル・マネージャの種類
- すべての実装されたインタフェース:
Closeable
,Flushable
,AutoCloseable
,JavaFileManager
,OptionChecker
public class ForwardingJavaFileManager<M extends JavaFileManager> extends Object implements JavaFileManager
指定されたファイル・マネージャに呼出しを転送します。 このクラスのサブクラスは、これらのメソッドの一部をオーバーライドする可能性があります。また、追加のフィールドおよびメソッドを提供する可能性もあります。- 導入されたバージョン:
- 1.6
-
-
ネストされたクラスのサマリー
-
インタフェース javax.tools.JavaFileManagerで宣言されたネストされたクラス/インタフェース
JavaFileManager.Location
-
-
フィールドのサマリー
フィールド 修飾子と型 フィールド 説明 protected M
fileManager
すべてのメソッドが委譲される、委譲先のファイル・マネージャです。
-
コンストラクタのサマリー
コンストラクタ 修飾子 コンストラクタ 説明 protected
ForwardingJavaFileManager(M fileManager)
ForwardingJavaFileManagerの新しいインスタンスを生成します。
-
メソッドのサマリー
すべてのメソッド インスタンス・メソッド 具象メソッド 修飾子と型 メソッド 説明 boolean
contains(JavaFileManager.Location location, FileObject fo)
指定されたファイル・オブジェクトが指定されたロケーション"に含まれた"かどうかを決定します。ClassLoader
getClassLoader(JavaFileManager.Location location)
指定されたパッケージ指向のロケーションからプラグインをロードするためのクラス・ローダーを返します。FileObject
getFileForInput(JavaFileManager.Location location, String packageName, String relativeName)
指定されたパッケージ指向のロケーションにある指定されたパッケージ内の指定された「相対名」を表す入力用の「ファイル・オブジェクト」を返します。FileObject
getFileForOutput(JavaFileManager.Location location, String packageName, String relativeName, FileObject sibling)
指定されたロケーションの指定されたパッケージ内の指定された「相対名」を表す出力用の「ファイル・オブジェクト」を返します。JavaFileObject
getJavaFileForInput(JavaFileManager.Location location, String className, JavaFileObject.Kind kind)
指定されたパッケージ指向のロケーションで指定された種類の指定されたクラスを表す入力用の「ファイル・オブジェクト」を返します。JavaFileObject
getJavaFileForOutput(JavaFileManager.Location location, String className, JavaFileObject.Kind kind, FileObject sibling)
指定されたパッケージ指向のロケーションで指定された種類の指定されたクラスを表す出力用の「ファイル・オブジェクト」を返します。JavaFileManager.Location
getLocationForModule(JavaFileManager.Location location, String moduleName)
モジュール指向のロケーションまたは出力ロケーションのいずれかである、ロケーション内の名前付きモジュールのロケーションを取得します。JavaFileManager.Location
getLocationForModule(JavaFileManager.Location location, JavaFileObject fo)
特定のファイルが格納されているモジュールのロケーションを取得します。ロケーションは、モジュール指向のロケーションまたは出力ロケーションのいずれかです。<S> ServiceLoader<S>
getServiceLoader(JavaFileManager.Location location, Class<S> service)
指定されたロケーションから特定のサービス・クラスのサービス・ローダーを取得します。boolean
handleOption(String current, Iterator<String> remaining)
1つのオプションを処理します。String
inferBinaryName(JavaFileManager.Location location, JavaFileObject file)
パッケージ指向のロケーションに基づいてファイル・オブジェクトのバイナリ名を推論します。String
inferModuleName(JavaFileManager.Location location)
getLocationForModule
またはlistModuleLocations
から返されるモジュールの名前をそのロケーションから推測します。boolean
isSameFile(FileObject a, FileObject b)
2つのファイル・オブジェクトを比較し、これらによって表される配下のオブジェクトが同じである場合はtrueを返します。Iterable<JavaFileObject>
list(JavaFileManager.Location location, String packageName, Set<JavaFileObject.Kind> kinds, boolean recurse)
指定されたパッケージ指向のロケーションで、指定された条件に一致するすべてのファイル・オブジェクトを一覧表示します。Iterable<Set<JavaFileManager.Location>>
listLocationsForModules(JavaFileManager.Location location)
モジュール指向のロケーションまたは出力ロケーションのすべてのモジュールのロケーションを一覧表示します。-
クラス java.lang.Objectで宣言されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
インタフェース javax.tools.JavaFileManagerで宣言されたメソッド
close, flush, hasLocation
-
インタフェース javax.tools.OptionCheckerで宣言されたメソッド
isSupportedOption
-
-
-
-
フィールドの詳細
-
fileManager
protected final M extends JavaFileManager fileManager
すべてのメソッドが委譲される、委譲先のファイル・マネージャです。
-
-
コンストラクタの詳細
-
ForwardingJavaFileManager
protected ForwardingJavaFileManager(M fileManager)
ForwardingJavaFileManagerの新しいインスタンスを生成します。- パラメータ:
fileManager
- このファイル・マネージャに委譲される対象
-
-
メソッドの詳細
-
getClassLoader
public ClassLoader getClassLoader(JavaFileManager.Location location)
インタフェースからコピーされた説明:JavaFileManager
指定されたパッケージ指向のロケーションからプラグインをロードするためのクラス・ローダーを返します。 たとえば、注釈プロセッサをロードするには、コンパイラは、ANNOTATION_PROCESSOR_PATH
の場所のクラス・ローダーを要求します。- 定義:
getClassLoader
、インタフェースJavaFileManager
- パラメータ:
location
- 場所- 戻り値:
- 指定の場所のクラス・ローダー。指定の場所からプラグインをロードできない場合、または未知の場所が指定された場合は
null
- 例外:
SecurityException
- 現在のセキュリティ・コンテキストでクラス・ローダーを作成できない場合IllegalStateException
-JavaFileManager.close()
が呼び出され、このファイル・マネージャを再度開くことができない場合
-
list
public Iterable<JavaFileObject> list(JavaFileManager.Location location, String packageName, Set<JavaFileObject.Kind> kinds, boolean recurse) throws IOException
インタフェースからコピーされた説明:JavaFileManager
指定されたパッケージ指向のロケーションで、指定された条件に一致するすべてのファイル・オブジェクトを一覧表示します。 再帰処理が有効になっている場合、「サブパッケージ」内のファイル・オブジェクトも一覧表示されます。ノート: このファイル・マネージャにとって未知の場所が指定された場合も、
null
が返されることはありません。 また、例外が生成されることもありません。- 定義:
list
、インタフェースJavaFileManager
- パラメータ:
location
- 場所packageName
- パッケージ名kinds
- これらの種類のオブジェクトのみ返すrecurse
- trueの場合、「サブパッケージ」が含まれる- 戻り値:
- 指定された基準に一致するファイル・オブジェクトのIterable
- 例外:
IOException
- 入出力エラーが発生した場合、またはJavaFileManager.close()
が呼び出され、このファイル・マネージャを再度開くことができない場合IllegalStateException
-JavaFileManager.close()
が呼び出され、このファイル・マネージャを再度開くことができない場合
-
inferBinaryName
public String inferBinaryName(JavaFileManager.Location location, JavaFileObject file)
インタフェースからコピーされた説明:JavaFileManager
パッケージ指向のロケーションに基づいてファイル・オブジェクトのバイナリ名を推論します。 返されるバイナリ名は、『Java™言語仕様』に従った有効なバイナリ名ではないことがあります。- 定義:
inferBinaryName
、インタフェースJavaFileManager
- パラメータ:
location
- 場所file
- ファイル・オブジェクト- 戻り値:
- バイナリ名。指定された場所にファイル・オブジェクトが見つからない場合は
null
- 例外:
IllegalStateException
-JavaFileManager.close()
が呼び出され、このファイル・マネージャを再度開くことができない場合
-
isSameFile
public boolean isSameFile(FileObject a, FileObject b)
インタフェースからコピーされた説明:JavaFileManager
2つのファイル・オブジェクトを比較し、これらによって表される配下のオブジェクトが同じである場合はtrueを返します。- 定義:
isSameFile
、インタフェースJavaFileManager
- パラメータ:
a
- ファイル・オブジェクトb
- ファイル・オブジェクト- 戻り値:
- 指定されたファイル・オブジェクトによって表される配下のオブジェクトが同じである場合はtrue
- 例外:
IllegalArgumentException
- いずれかの引数が別のファイル・マネージャで作成された引数であり、このファイル・マネージャが外部ファイル・オブジェクトをサポートしていない場合
-
handleOption
public boolean handleOption(String current, Iterator<String> remaining)
インタフェースからコピーされた説明:JavaFileManager
1つのオプションを処理します。current
がこのファイル・マネージャのオプションである場合は、remaining
からそのオプションに対するすべての引数を使用し、trueを返します。そうでない場合はfalseを返します。- 定義:
handleOption
、インタフェースJavaFileManager
- パラメータ:
current
- 現在のオプションremaining
- 残りのオプション- 戻り値:
- このオプションがこのファイル・マネージャで処理された場合はtrue、そうでない場合はfalse
- 例外:
IllegalArgumentException
- このファイル・マネージャに対するこのオプションが不正に使用された場合IllegalStateException
-JavaFileManager.close()
が呼び出され、このファイル・マネージャを再度開くことができない場合
-
getJavaFileForInput
public JavaFileObject getJavaFileForInput(JavaFileManager.Location location, String className, JavaFileObject.Kind kind) throws IOException
インタフェースからコピーされた説明:JavaFileManager
指定されたパッケージ指向のロケーションで指定された種類の指定されたクラスを表す入力用の「ファイル・オブジェクト」を返します。- 定義:
getJavaFileForInput
、インタフェースJavaFileManager
- パラメータ:
location
- 場所className
- クラスの名前kind
- ファイルの種類。SOURCE
またはCLASS
のいずれかである必要がある- 戻り値:
- ファイル・オブジェクト。ファイルが存在しない場合は
null
が返される可能性がある - 例外:
IllegalArgumentException
- そのロケーションがこのファイル・マネージャに知られておらず、ファイル・マネージャが不明なロケーションをサポートしていない場合、またはその種類が有効でない場合、またはそのロケーションがモジュール指向のロケーションである場合IllegalStateException
-JavaFileManager.close()
が呼び出され、このファイル・マネージャを再度開くことができない場合IOException
- 入出力エラーが発生した場合、またはJavaFileManager.close()
が呼び出され、このファイル・マネージャを再度開くことができない場合
-
getJavaFileForOutput
public JavaFileObject getJavaFileForOutput(JavaFileManager.Location location, String className, JavaFileObject.Kind kind, FileObject sibling) throws IOException
インタフェースからコピーされた説明:JavaFileManager
指定されたパッケージ指向のロケーションで指定された種類の指定されたクラスを表す出力用の「ファイル・オブジェクト」を返します。このファイル・マネージャは、オプションとして、兄弟ウィジェットを出力先のヒントとして使用する可能性があります。 このヒントの厳密なセマンティックスは指定されません。 たとえばJDKコンパイラjavacは、クラス・ファイルの出力ディレクトリが指定されていない場合、ソース・ファイルと同じディレクトリにクラス・ファイルを配置します。 この処理を簡便化するため、javacは、このメソッドを呼び出すとき、ソース・ファイルを兄弟ウィジェットとして指定することがあります。
- 定義:
getJavaFileForOutput
、インタフェースJavaFileManager
- パラメータ:
location
- パッケージ志向のロケーションclassName
- クラスの名前kind
- ファイルの種類。SOURCE
またはCLASS
のいずれかである必要があるsibling
- 配置のヒントとして使用されるファイル・オブジェクト;null
も可- 戻り値:
- 出力用ファイル・オブジェクト
- 例外:
IllegalArgumentException
- 兄弟がこのファイル・マネージャに知られていない場合、またはこのファイル・マネージャにロケーションが分からず、ファイル・マネージャが未知のロケーションをサポートしていない場合、または種類が有効でない場合、またはロケーションが出力ロケーションでない場合IllegalStateException
-JavaFileManager.close()
が呼び出され、このファイル・マネージャを再度開くことができない場合IOException
- 入出力エラーが発生した場合、またはJavaFileManager.close()
が呼び出され、このファイル・マネージャを再度開くことができない場合
-
getFileForInput
public FileObject getFileForInput(JavaFileManager.Location location, String packageName, String relativeName) throws IOException
インタフェースからコピーされた説明:JavaFileManager
指定されたパッケージ指向のロケーションにある指定されたパッケージ内の指定された「相対名」を表す入力用の「ファイル・オブジェクト」を返します。返されたオブジェクトがソース・ファイルまたはクラス・ファイルを表す場合、これは
JavaFileObject
のインスタンスである必要があります。非公式には、このメソッドで返されるファイル・オブジェクトは、場所、パッケージ名、および相対名を連結した場所にあります。 たとえば、SOURCE_PATHの場所にある「com.sun.tools.javac」パッケージ内のプロパティ・ファイル「resources/compiler.properties」を探している場合、次のようにしてこのメソッドを呼び出すことができます。
getFileForInput(SOURCE_PATH, "com.sun.tools.javac", "resources/compiler.properties");
この呼出しがWindows上で実行され、SOURCE_PATHが
"C:\Documents and Settings\UncleBob\src\share\classes"
に設定されていた場合、有効な結果は、ファイル"C:\Documents and Settings\UncleBob\src\share\classes\com\sun\tools\javac\resources\compiler.properties"
を表すファイル・オブジェクトになります。- 定義:
getFileForInput
、インタフェースJavaFileManager
- パラメータ:
location
- パッケージ志向のロケーションpackageName
- パッケージ名relativeName
- 相対名- 戻り値:
- ファイル・オブジェクト。ファイルが存在しない場合は
null
が返される可能性がある - 例外:
IllegalArgumentException
- ロケーションがこのファイル・マネージャに知られておらず、ファイル・マネージャが不明なロケーションをサポートしていない場合、またはrelativeName
が有効でない場合、またはロケーションがモジュール指向のロケーションである場合IllegalStateException
-JavaFileManager.close()
が呼び出され、このファイル・マネージャを再度開くことができない場合IOException
- 入出力エラーが発生した場合、またはJavaFileManager.close()
が呼び出され、このファイル・マネージャを再度開くことができない場合
-
getFileForOutput
public FileObject getFileForOutput(JavaFileManager.Location location, String packageName, String relativeName, FileObject sibling) throws IOException
インタフェースからコピーされた説明:JavaFileManager
指定されたロケーションの指定されたパッケージ内の指定された「相対名」を表す出力用の「ファイル・オブジェクト」を返します。このファイル・マネージャは、オプションとして、兄弟ウィジェットを出力先のヒントとして使用する可能性があります。 このヒントの厳密なセマンティックスは指定されません。 たとえばJDKコンパイラjavacは、クラス・ファイルの出力ディレクトリが指定されていない場合、ソース・ファイルと同じディレクトリにクラス・ファイルを配置します。 この処理を簡便化するため、javacは、このメソッドを呼び出すとき、ソース・ファイルを兄弟ウィジェットとして指定することがあります。
返されたオブジェクトがソース・ファイルまたはクラス・ファイルを表す場合、これは
JavaFileObject
のインスタンスである必要があります。非公式には、このメソッドで返されるファイル・オブジェクトは、場所、パッケージ名、および相対名を連結した場所か、兄弟引数の次にあります。 例については、
getFileForInput
を参照してください。- 定義:
getFileForOutput
、インタフェースJavaFileManager
- パラメータ:
location
- 出力ロケーションpackageName
- パッケージ名relativeName
- 相対名sibling
- 配置のヒントとして使用されるファイル・オブジェクト;null
も可- 戻り値:
- ファイル・オブジェクト
- 例外:
IllegalArgumentException
- 兄弟がこのファイル・マネージャに知られていない場合、またはこのファイル・マネージャにロケーションが知られておらず、ファイル・マネージャが未知のロケーションをサポートしていない場合、またはrelativeName
が有効でない場合、またはそのロケーションが出力ロケーションでない場合IllegalStateException
-JavaFileManager.close()
が呼び出され、このファイル・マネージャを再度開くことができない場合IOException
- 入出力エラーが発生した場合、またはJavaFileManager.close()
が呼び出され、このファイル・マネージャを再度開くことができない場合
-
getLocationForModule
public JavaFileManager.Location getLocationForModule(JavaFileManager.Location location, String moduleName) throws IOException
インタフェースからコピーされた説明:JavaFileManager
モジュール指向のロケーションまたは出力ロケーションのいずれかである、ロケーション内の名前付きモジュールのロケーションを取得します。 指定されたロケーションが出力ロケーションである場合、結果が出力ロケーションになります。またはパッケージ指向のロケーションになります。- 定義:
- インタフェース
JavaFileManager
内のgetLocationForModule
- パラメータ:
location
- モジュール指向のロケーションmoduleName
- 見つかるモジュールの名前- 戻り値:
- 指定されたモジュールのロケーション
- 例外:
IOException
- 入出力エラーが発生した場合- 導入されたバージョン:
- 9
-
getLocationForModule
public JavaFileManager.Location getLocationForModule(JavaFileManager.Location location, JavaFileObject fo) throws IOException
インタフェースからコピーされた説明:JavaFileManager
特定のファイルが格納されているモジュールのロケーションを取得します。ロケーションは、モジュール指向のロケーションまたは出力ロケーションのいずれかです。 指定されたロケーションが出力ロケーションである場合、結果が出力ロケーションになります。またはパッケージ指向のロケーションになります。- 定義:
- インタフェース
JavaFileManager
内のgetLocationForModule
- パラメータ:
location
- モジュール指向のロケーションfo
- ファイル- 戻り値:
- ファイルを含むモジュール
- 例外:
IOException
- 入出力エラーが発生した場合- 導入されたバージョン:
- 9
-
getServiceLoader
public <S> ServiceLoader<S> getServiceLoader(JavaFileManager.Location location, Class<S> service) throws IOException
インタフェースからコピーされた説明:JavaFileManager
指定されたロケーションから特定のサービス・クラスのサービス・ローダーを取得します。 ロケーションがモジュール指向のロケーションである場合、サービス・ローダーはそのロケーションにあるモジュール内のサービス宣言を使用します。 それ以外の場合は、パッケージ指向のロケーションを使用してサービス・ローダーが作成されます。この場合、サービスはMETA-INF/services
のプロバイダ構成ファイルを使用して決定されます。- 定義:
- インタフェース
JavaFileManager
内のgetServiceLoader
- 型パラメータ:
S
- サービス・クラス- パラメータ:
location
- モジュール指向のロケーションservice
- サービス・クラスのClass
オブジェクト- 戻り値:
- 指定されたサービス・クラスのサービス・ローダー
- 例外:
IOException
- 入出力エラーが発生した場合- 導入されたバージョン:
- 9
-
inferModuleName
public String inferModuleName(JavaFileManager.Location location) throws IOException
インタフェースからコピーされた説明:JavaFileManager
getLocationForModule
またはlistModuleLocations
から返されるモジュールの名前をそのロケーションから推測します。- 定義:
- インタフェース
JavaFileManager
内のinferModuleName
- パラメータ:
location
- モジュールを表すパッケージ指向のロケーション- 戻り値:
- モジュールの名前
- 例外:
IOException
- 入出力エラーが発生した場合- 導入されたバージョン:
- 9
-
listLocationsForModules
public Iterable<Set<JavaFileManager.Location>> listLocationsForModules(JavaFileManager.Location location) throws IOException
インタフェースからコピーされた説明:JavaFileManager
モジュール指向のロケーションまたは出力ロケーションのすべてのモジュールのロケーションを一覧表示します。 指定されたロケーションが出力である場合、またはパッケージ指向のロケーションになる場合、返されるロケーションは出力ロケーションになります。- 定義:
- インタフェース
JavaFileManager
内のlistLocationsForModules
- パラメータ:
location
- モジュールをリストするモジュール指向のロケーション- 戻り値:
- モジュールを含む一連のロケーションのセット
- 例外:
IOException
- 入出力エラーが発生した場合- 導入されたバージョン:
- 9
-
contains
public boolean contains(JavaFileManager.Location location, FileObject fo) throws IOException
インタフェースからコピーされた説明:JavaFileManager
指定されたファイル・オブジェクトが指定されたロケーション"に含まれた"かどうかを決定します。パッケージ指向のロケーションでは、packageNameとrelativeNameの値が存在する場合、次の呼び出しのいずれかが
same
ファイル・オブジェクトを返すようにファイル・オブジェクトが格納されます:getFileForInput(location, packageName, relativeName) getFileForOutput(location, packageName, relativeName, null)
モジュール指向のロケーションでは、呼び出しによって取得される可能性のあるモジュールが存在する場合、ファイル・オブジェクトがそのロケーションに格納されます:
getLocationForModule(location, moduleName)
そのファイル・オブジェクトは、そのモジュールの(package-oriented)のロケーションに格納されます。- 定義:
- インタフェース
JavaFileManager
内のcontains
- パラメータ:
location
- ロケーションfo
- ファイル・オブジェクト- 戻り値:
- ファイルがそのロケーションに含まれているかどうか
- 例外:
IOException
- 結果を決定する際に問題がある場合- 導入されたバージョン:
- 9
-
-