Irenka仮想ファイルシステム
id:ashigeru:20070815:1187182109 でファイラの最低限の機能を実装してみましたけど、やっぱり仮想ファイルシステムが欲しいなと。
ファイルシステム内のリソース
- 仮想ファイルシステム内の各リソース(CtResouce)は次の2種類
- ファイル(CtFile extends CtResouce)
- フォルダ(CtFolder extends CtResource)
- CtResouceは単純名(#name)を持つ
- CtFileは子要素にバイナリデータを保持し、該データの入出力ストリームを取得できる(.openInputStream(), openOutputStream())
- CtFolderは子要素にCtResouceのリストを保持し、それぞれの単純名で各CtResourceを取得できる(.getFile(String), .getFolder(String))
- ファイルシステムは単一のCtFolderをそのルートに持つ
ファントムリソース
- CtFolderは存在しない子要素を取得することができ、それらはファントムリソースとして利用できる
- ファントムリソースは実在するリソースへと変更することができる
- ファントムリソースに対して子要素を生成した場合、そのファントムリソースもまた生成される