Mirror API

com.sun.mirror.apt
インタフェース Filer


public interface Filer

このインタフェースは、注釈プロセッサによる新しいファイルの作成をサポートしています。このやり方で作成されたファイルは、このインタフェースを実装している注釈処理ツールに認識され、さらにそのツールで管理されることもできます。ファイルは、ソースファイル、クラスファイル、ほかのテキストファイル、およびほかのバイナリファイルの 4 種類に区別されています。後者の 2 つのファイルは、まとめて補助ファイルと呼ばれます。

新しく作成されたファイルは、2 つの位置 (ファイルシステム内のサブツリー) に配置されます。それぞれ、新しいソースファイル、新しいクラスファイルに使用されます。これらの位置は、-s-d などのフラグを使ってツールのコマンド行で指定されます。補助ファイルはどちらかの位置で作成できます。

注釈処理ツールを実行するたびに、指定されたパス名を持つファイルが 1 回だけ作成されます。このファイルをはじめて作成するときにファイルがすでに存在している場合、ファイルの古い内容は削除されます。これ以降、ツールを実行中に同じファイルを作成しようとしても、失敗します。

導入されたバージョン:
1.5

入れ子のクラスの概要
static class Filer.Location
          新しいファイルが作成される位置 (ファイルシステム内のサブツリー)。
 
メソッドの概要
 OutputStream createBinaryFile(Filer.Location loc, String pkg, File relPath)
          新しいバイナリファイルを作成し、ファイルに書き込むためのストリームを返します。
 OutputStream createClassFile(String name)
          新しいクラスファイルを作成し、ファイルに書き込むためのストリームを返します。
 PrintWriter createSourceFile(String name)
          新しいソースファイルを作成し、ファイルのライターを返します。
 PrintWriter createTextFile(Filer.Location loc, String pkg, File relPath, String charsetName)
          新しいテキストファイルを作成し、ファイルのライターを返します。
 

メソッドの詳細

createSourceFile

PrintWriter createSourceFile(String name)
                             throws IOException
新しいソースファイルを作成し、ファイルのライターを返します。ファイルの名前とパス (すべての新規作成ソースファイルのルートに相対するパス) はそのファイルで宣言される型に基づきます。複数の型が宣言されている場合、主体のトップレベル型 (public 型など) の名前を使用する必要があります。

ファイルのエンコーディングに使用される charset は実装により決定されます。注釈処理ツールには、このエンコーディングを指定する -encoding フラグまたは同様のものが用意されている場合があります。エンコーディングが指定されない場合は、通常、プラットフォームのデフォルトエンコーディングが使用されます。

パラメータ:
name - このファイルで宣言されている principal 型の標準的な完全修飾名
戻り値:
新しいファイルのライター
例外:
IOException - ファイルを作成できない場合

createClassFile

OutputStream createClassFile(String name)
                             throws IOException
新しいクラスファイルを作成し、ファイルに書き込むためのストリームを返します。ファイルの名前とパス (すべての新規作成クラスファイルのルートに相対するパス) は書き込まれる型の名前に基づきます。

パラメータ:
name - 書き込まれる型の標準的な完全修飾名
戻り値:
新しいファイルに書き込むためのストリーム
例外:
IOException - ファイルが作成できない場合

createTextFile

PrintWriter createTextFile(Filer.Location loc,
                           String pkg,
                           File relPath,
                           String charsetName)
                           throws IOException
新しいテキストファイルを作成し、ファイルのライターを返します。ファイルは、新しく作成されたソースファイルまたは新しく作成されたバイナリファイルとともに配置されます。ファイルには、ソースファイルおよびバイナリファイルとして一部のパッケージへの相対的な名前を付けることができます。その名前は任意のパス名に基づくパッケージに由来します。広い意味では、新しいファイルのパス名は、locpkg、および relPath の連結になります。

ファイルのエンコーディングのための charset を指定できます。何も指定しない場合は、ソースファイルのエンコーディングに使用される charset が使用されます。詳細は、createSourceFile(String) を参照してください。

パラメータ:
loc - 新しいファイルの位置
pkg - 相対的な名前をファイルに付ける必要があるパッケージ、ない場合は空の文字列
relPath - ファイルの最終パス名のコンポーネント
charsetName - 使用する charset の名前。明示的に何も指定されていない場合は null
戻り値:
新しいファイルのライター
例外:
IOException - ファイルを作成できない場合

createBinaryFile

OutputStream createBinaryFile(Filer.Location loc,
                              String pkg,
                              File relPath)
                              throws IOException
新しいバイナリファイルを作成し、ファイルに書き込むためのストリームを返します。このファイルは、新しく作成されたソースファイルまたは新しく作成されたバイナリファイルとともに配置されます。ファイルには、ソースファイルおよびバイナリファイルとして一部のパッケージへの相対的な名前を付けることができます。その名前は任意のパス名に基づくパッケージに由来します。広い意味では、新しいファイルのパス名は、locpkg、および relPath の連結になります。

パラメータ:
loc - 新しいファイルの位置
pkg - 相対的な名前をファイルに付ける必要があるパッケージ、ない場合は空の文字列
relPath - ファイルの最終パス名のコンポーネント
戻り値:
新しいファイルに書き込むためのストリーム
例外:
IOException - ファイルを作成できない場合

Mirror API

バグや機能要求の報告
Copyright 2004 Sun Microsystems, Inc. All Rights Reserved. Use is subject to license terms.