public class PermanentDirectory extends Object implements Serializable, TreasureDirectory
データをそのままファイルに保存して、サーバの再起動後も保存したデータを 扱うためのAPIを提供します。
保存するデータは、直列化可能なオブジェクトに限ります。 また、保存した時の環境と取り出した時の環境において、そのデータに関連する クラスの構造が異なっている場合、正常に値を復元できません。
このオブジェクトにより扱うデータは、Storage 上で一元管理されます。 また、データファイルが保存されるディレクトリは、 システムストレージ/treasure/ 以下の PermanentDirectory#getDomain() メソッドで示されるディレクトリになります。
サブディレクトリを任意に指定する事が可能で、そのサブディレクトリ内に グループが存在し、そのグループ内にデータがキーにマップされる形で 保存されます。
PermanentDirectory#getDomain() メソッドで表される情報保存ディレクトリには、 すでに用法が定められているものがあります。
システムが利用しているディレクトリに情報を保存(また更新や削除)した場合、関係機能への 情報の干渉を引き起こしシステムを不安定にしてしまう危険性があります。
修飾子 | コンストラクタと説明 |
---|---|
protected |
PermanentDirectory(String dir)
コンストラクタ。
|
修飾子とタイプ | メソッドと説明 |
---|---|
Map<String,?> |
destroy(String id)
グループデータを削除します。
|
List<String> |
entries()
このオブジェクトの表す dir に属するグループID一覧を取得します。
|
<V> TreasureFile<V> |
entry(String id)
空のグループを作成します。
|
<V> TreasureFile<V> |
getFile(String id)
このオブジェクトの表すディレクトリにキー id でマップされた TreasureFile インスタンスを取得します。
|
static PermanentDirectory |
getInstance(String dir)
共有データを扱うためのオブジェクトを取得します。
|
String |
getName()
このオブジェクトの表す名称を取得します。
|
int |
size()
このオブジェクトの表す dir に属するグループIDの数を取得します。
|
protected PermanentDirectory(String dir)
dir
- 保存ディレクトリNullPointerException
public static PermanentDirectory getInstance(String dir)
このインスタンスは、dir に保存されている共有データ に関する情報を扱えます。
dir
- 保存ディレクトリNullPointerException
- 引数が nullpublic <V> TreasureFile<V> getFile(String id)
TreasureDirectory
getFile
インタフェース内 TreasureDirectory
V
- TreasureFile インスタンスの型id
- グループpublic String getName()
TreasureDirectory
getName
インタフェース内 TreasureDirectory
public List<String> entries() throws IOException, ClassNotFoundException
TreasureDirectory
コレクションの各要素は String です。
entries
インタフェース内 TreasureDirectory
IOException
- 入出力エラーClassNotFoundException
- データ復元時のエラーpublic <V> TreasureFile<V> entry(String id) throws IOException
TreasureDirectory
すでにグループが存在していた場合、このメソッドは何もしません。
このメソッドで作成されたグループにはデータが存在しません。
グループを作成する事により、entries() で取得できるグループリストに このオブジェクトが表すグループが含まれます。
返却値としてグループ id のデータを扱うためのオブジェクトを返します。
entry
インタフェース内 TreasureDirectory
V
- TreasureFile インスタンスの型id
- グループIOException
- 入出力エラーTreasureDirectory.entries()
public Map<String,?> destroy(String id) throws IOException, ClassNotFoundException
TreasureDirectory
id に属する共有データをすべて削除し、 共有データ領域から id に属するデータを保管する領域も削除します。 このメソッドが実行されると entries() で取得できるグループリストに このオブジェクトが示すグループが含まれなくなります。
返却値は、id に属していたデータ一覧になります。返却データに関して、 データを保存した時の環境とデータに関連するクラスの構造が異なる場合 例外がスローされます。
destroy
インタフェース内 TreasureDirectory
id
- グループIOException
- 入出力エラーClassNotFoundException
- データ復元時のエラーpublic int size() throws IOException, ClassNotFoundException
TreasureDirectory
size
インタフェース内 TreasureDirectory
IOException
- 入出力エラーClassNotFoundException
- データ復元時のエラーCopyright © 2012 NTT DATA INTRAMART CORPORATION