JavaTM Platform
Standard Ed. 6

javax.tools
クラス ForwardingJavaFileManager<M extends JavaFileManager>

java.lang.Object
  上位を拡張 javax.tools.ForwardingJavaFileManager<M>
型パラメータ:
M - このオブジェクトによって呼び出しを転送されるファイルマネージャーの種類
すべての実装されたインタフェース:
Closeable, Flushable, 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 の新しいインスタンスを生成します。
 
メソッドの概要
 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)
          指定の場所の指定の基準に一致するすべてのファイルオブジェクトを一覧表示します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

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 のクラスローダーを要求します。

定義:
インタフェース JavaFileManager 内の getClassLoader
パラメータ:
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 が返されることはありません。また、例外が生成されることもありません。

定義:
インタフェース JavaFileManager 内の list
パラメータ:
location - 場所
packageName - パッケージ名
kinds - これらの種類のオブジェクトのみ返す
recurse - true の場合、「サブパッケージ」も含まれる
戻り値:
指定された基準に一致するファイルオブジェクトの Iterable
例外:
IOException - 入出力エラーが発生した場合、または JavaFileManager.close() が呼び出され、このファイルマネージャーを再度開くことができない場合
IllegalStateException - JavaFileManager.close() が呼び出され、このファイルマネージャーを再度開くことができない場合

inferBinaryName

public String inferBinaryName(JavaFileManager.Location location,
                              JavaFileObject file)
インタフェース JavaFileManager の記述:
場所に基づいてファイルオブジェクトのバイナリ名を推測します。有効な JLS バイナリ名でないバイナリ名が返される場合もあります。

定義:
インタフェース JavaFileManager 内の inferBinaryName
パラメータ:
location - 場所
file - ファイルオブジェクト
戻り値:
バイナリ名。指定された場所にファイルオブジェクトが見つからない場合は null
例外:
IllegalStateException - JavaFileManager.close() が呼び出され、このファイルマネージャーを再度開くことができない場合

isSameFile

public boolean isSameFile(FileObject a,
                          FileObject b)
インタフェース JavaFileManager の記述:
2 つのファイルオブジェクトを比較し、これらによって表される配下のオブジェクトが同じである場合は true を返します。

定義:
インタフェース JavaFileManager 内の isSameFile
パラメータ:
a - ファイルオブジェクト
b - ファイルオブジェクト
戻り値:
指定されたファイルオブジェクトによって表される配下のオブジェクトが同じである場合は true
例外:
IllegalArgumentException - どちらかの引数が別のファイルマネージャーで作成された引数であり、このファイルマネージャーが外部ファイルオブジェクトをサポートしていない場合

handleOption

public boolean handleOption(String current,
                            Iterator<String> remaining)
インタフェース JavaFileManager の記述:
1 つのオプションを処理します。current がこのファイルマネージャーのオプションである場合は、remaining からそのオプションに対するすべての引数を使用し、true を返します。そうでない場合は false を返します。

定義:
インタフェース JavaFileManager 内の handleOption
パラメータ:
current - 現在のオプション
remaining - 残りのオプション
戻り値:
このオプションがこのファイルマネージャーで処理された場合は true、そうでない場合は false
例外:
IllegalArgumentException - このファイルマネージャーに対するこのオプションが不正に使用された場合
IllegalStateException - JavaFileManager.close() が呼び出され、このファイルマネージャーを再度開くことができない場合

hasLocation

public boolean hasLocation(JavaFileManager.Location location)
インタフェース JavaFileManager の記述:
このファイルマネージャーにとって既知の場所であるかどうかを判断します。

定義:
インタフェース JavaFileManager 内の hasLocation
パラメータ:
location - 場所
戻り値:
既知の場所である場合は true

isSupportedOption

public int isSupportedOption(String option)
インタフェース OptionChecker の記述:
指定されたオプションがサポートされているかどうかを調べ、サポートされている場合はそのオプションがとる引数の数を特定します。

定義:
インタフェース OptionChecker 内の isSupportedOption
パラメータ:
option - オプション
戻り値:
指定されたオプションがとる引数の数。そのオプションがサポートされていない場合は -1

getJavaFileForInput

public JavaFileObject getJavaFileForInput(JavaFileManager.Location location,
                                          String className,
                                          JavaFileObject.Kind kind)
                                   throws IOException
インタフェース JavaFileManager の記述:
指定された場所にある、特定の種類の特定のクラスを表す入力用ファイルオブジェクトを取得します。

定義:
インタフェース JavaFileManager 内の getJavaFileForInput
パラメータ:
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 の記述:
指定された場所にある、特定の種類の特定のクラスを表す出力用ファイルオブジェクトを取得します。  

このファイルマネージャーは、オプションとして、兄弟ウィジェットを出力先のヒントとして使用する可能性があります。このヒントの厳密なセマンティクスは指定されません。たとえば Sun のコンパイラ javac は、クラスファイルの出力ディレクトリが指定されていない場合、ソースファイルと同じディレクトリにクラスファイルを配置します。この処理を簡便化するため、javac は、このメソッドを呼び出すとき、ソースファイルを兄弟ウィジェットとして指定することがあります。

定義:
インタフェース JavaFileManager 内の getJavaFileForOutput
パラメータ:
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" を表すファイルオブジェクトになります。

定義:
インタフェース JavaFileManager 内の getFileForInput
パラメータ:
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 の記述:
指定された場所にある、特定のパッケージ内の特定の相対名を表す出力用ファイルオブジェクトを取得します。  

このファイルマネージャーは、オプションとして、兄弟ウィジェットを出力先のヒントとして使用する可能性があります。このヒントの厳密なセマンティクスは指定されません。たとえば Sun のコンパイラ javac は、クラスファイルの出力ディレクトリが指定されていない場合、ソースファイルと同じディレクトリにクラスファイルを配置します。この処理を簡便化するため、javac は、このメソッドを呼び出すとき、ソースファイルを兄弟ウィジェットとして指定することがあります。  

返されたオブジェクトがソースファイルまたはクラスファイルを表す場合、JavaFileObject のインスタンスである必要があります。  

非公式には、このメソッドで返されるファイルオブジェクトは、場所、パッケージ名、および相対名を連結した場所か、兄弟引数の次にあります。例は、getFileForInput を参照してください。

定義:
インタフェース JavaFileManager 内の getFileForOutput
パラメータ:
location - 場所
packageName - パッケージ名
relativeName - 相対名
sibling - 配置のヒントとして使用されるファイルオブジェクト。null も可
戻り値:
ファイルオブジェクト
例外:
IllegalArgumentException - このファイルマネージャーにとって未知の兄弟ウィジェットが指定された場合、このファイルマネージャーにとって未知の場所が指定され、ファイルマネージャーが未知の場所をサポートしていない場合、または relativeName が有効でない場合
IllegalStateException - JavaFileManager.close() が呼び出され、このファイルマネージャーを再度開くことができない場合
IOException - 入出力エラーが発生した場合、または JavaFileManager.close() が呼び出され、このファイルマネージャーを再度開くことができない場合

flush

public void flush()
           throws IOException
インタフェース JavaFileManager の記述:
このファイルマネージャーによって直接的または間接的に開かれた出力用リソースがあれば、それをフラッシュします。閉じられたファイルマネージャーをフラッシュしても、効果はありません。

定義:
インタフェース Flushable 内の flush
定義:
インタフェース JavaFileManager 内の flush
例外:
IOException - 入出力エラーが発生した場合
関連項目:
JavaFileManager.close()

close

public void close()
           throws IOException
インタフェース JavaFileManager の記述:
このファイルマネージャーによって直接的または間接的に開かれたリソースがあれば、それを解放します。すると、このファイルマネージャーが無効になり、その後このオブジェクト上で行われるメソッド呼び出しや、このオブジェクトを通して取得されるオブジェクトは、明示的に許可されていないかぎり未定義になります。ただし、すでに閉じられたファイルマネージャーを閉じても、効果はありません。

定義:
インタフェース Closeable 内の close
定義:
インタフェース JavaFileManager 内の close
例外:
IOException - 入出力エラーが発生した場合
関連項目:
JavaFileManager.flush()

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。