M
- このオブジェクトによって転送されるファイル・マネージャの種類public class ForwardingJavaFileManager<M extends JavaFileManager> extends Object implements JavaFileManager
JavaFileManager.Location
修飾子と型 | フィールドと説明 |
---|---|
protected M |
fileManager
すべてのメソッドが委譲される、委譲先のファイル・マネージャです。
|
修飾子 | コンストラクタと説明 |
---|---|
protected |
ForwardingJavaFileManager(M fileManager)
ForwardingJavaFileManagerの新しいインスタンスを生成します。
|
修飾子と型 | メソッドと説明 |
---|---|
void |
close()
このファイル・マネージャによって直接的または間接的に開かれたリソースがあれば、それを解放します。
|
void |
flush()
このファイル・マネージャによって直接的または間接的に開かれた出力用リソースがあれば、それをフラッシュします。
|
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)
指定された場所にある、特定の種類の特定のクラスを表す出力用ファイル・オブジェクトを取得します。
|
boolean |
handleOption(String current, Iterator<String> remaining)
1つのオプションを処理します。
|
boolean |
hasLocation(JavaFileManager.Location location)
このファイル・マネージャにとって既知の場所であるかどうかを判断します。
|
String |
inferBinaryName(JavaFileManager.Location location, JavaFileObject file)
場所に基づいてファイル・オブジェクトのバイナリ名を推測します。
|
boolean |
isSameFile(FileObject a, FileObject b)
2つのファイル・オブジェクトを比較し、これらによって表される配下のオブジェクトが同じである場合はtrueを返します。
|
int |
isSupportedOption(String option)
指定されたオプションがサポートされているかどうかを調べ、サポートされている場合はそのオプションがとる引数の数を特定します。
|
Iterable<JavaFileObject> |
list(JavaFileManager.Location location, String packageName, Set<JavaFileObject.Kind> kinds, boolean recurse)
指定の場所の指定の基準に一致するすべてのファイル・オブジェクトを一覧表示します。
|
protected final M extends JavaFileManager fileManager
protected ForwardingJavaFileManager(M fileManager)
fileManager
- このファイル・マネージャに委譲される対象public ClassLoader getClassLoader(JavaFileManager.Location location)
JavaFileManager
ANNOTATION_PROCESSOR_PATH
の場所のクラス・ローダーを要求します。getClassLoader
、インタフェース: JavaFileManager
location
- 場所null
SecurityException
- 現在のセキュリティ・コンテキストでクラス・ローダーを作成できない場合IllegalStateException
- JavaFileManager.close()
が呼び出され、このファイル・マネージャを再度開くことができない場合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の場合、「サブパッケージ」が含まれるIOException
- 入出力エラーが発生した場合、またはJavaFileManager.close()
が呼び出され、このファイル・マネージャを再度開くことができない場合IllegalStateException
- JavaFileManager.close()
が呼び出され、このファイル・マネージャを再度開くことができない場合public String inferBinaryName(JavaFileManager.Location location, JavaFileObject file)
JavaFileManager
inferBinaryName
、インタフェース: JavaFileManager
location
- 場所file
- ファイル・オブジェクトnull
IllegalStateException
- JavaFileManager.close()
が呼び出され、このファイル・マネージャを再度開くことができない場合public boolean isSameFile(FileObject a, FileObject b)
JavaFileManager
isSameFile
、インタフェース: JavaFileManager
a
- ファイル・オブジェクトb
- ファイル・オブジェクトIllegalArgumentException
- いずれかの引数が別のファイル・マネージャで作成された引数であり、このファイル・マネージャが外部ファイル・オブジェクトをサポートしていない場合public boolean handleOption(String current, Iterator<String> remaining)
JavaFileManager
current
がこのファイル・マネージャのオプションである場合は、remaining
からそのオプションに対するすべての引数を使用し、trueを返します。そうでない場合はfalseを返します。handleOption
、インタフェース: JavaFileManager
current
- 現在のオプションremaining
- 残りのオプションIllegalArgumentException
- このファイル・マネージャに対するこのオプションが不正に使用された場合IllegalStateException
- JavaFileManager.close()
が呼び出され、このファイル・マネージャを再度開くことができない場合public boolean hasLocation(JavaFileManager.Location location)
JavaFileManager
hasLocation
、インタフェース: JavaFileManager
location
- 場所public int isSupportedOption(String option)
OptionChecker
isSupportedOption
、インタフェース: OptionChecker
option
- オプション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()
が呼び出され、このファイル・マネージャを再度開くことができない場合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()
が呼び出され、このファイル・マネージャを再度開くことができない場合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()
が呼び出され、このファイル・マネージャを再度開くことができない場合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()
が呼び出され、このファイル・マネージャを再度開くことができない場合public void flush() throws IOException
JavaFileManager
flush
、インタフェース: Flushable
flush
、インタフェース: JavaFileManager
IOException
- 入出力エラーが発生した場合JavaFileManager.close()
public void close() throws IOException
JavaFileManager
close
、インタフェース: Closeable
close
、インタフェース: AutoCloseable
close
、インタフェース: JavaFileManager
IOException
- 入出力エラーが発生した場合JavaFileManager.flush()
バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.