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, 2013, Oracle and/or its affiliates. All rights reserved.