バッキング・ストアのステータスの判断
標準のアプリケーション・コードでは、バッキング・ストアを利用できるかどうかに関する情報は必要ありません。ほとんどの場合、バッキング・ストアは常に利用できます。利用できない場合でも、バッキング・ストア内の設定値のかわりにデフォルト値を使用して、実行を継続するはずです。
一部の高度なプログラムでは、バッキング・ストアを利用できない場合に、動作を変更するか、単純に実行を拒否することができます。次のメソッドでは、バッキング・ストアを利用できるかどうかを判断するために、値を変更した設定をバッキング・ストアにフラッシュしています。
private static final String BACKING_STORE_AVAIL = "BackingStoreAvail";
private static boolean backingStoreAvailable() {
Preferences prefs = Preferences.userRoot().node("<temporary>");
try {
boolean oldValue = prefs.getBoolean(BACKING_STORE_AVAIL, false);
prefs.putBoolean(BACKING_STORE_AVAIL, !oldValue);
prefs.flush();
} catch(BackingStoreException e) {
return false;
}
return true;
}