バッキング・ストアのステータスの判断

標準のアプリケーション・コードでは、バッキング・ストアを利用できるかどうかに関する情報は必要ありません。ほとんどの場合、バッキング・ストアは常に利用できます。利用できない場合でも、バッキング・ストア内の設定値のかわりにデフォルト値を使用して、実行を継続するはずです。

一部の高度なプログラムでは、バッキング・ストアを利用できない場合に、動作を変更するか、単純に実行を拒否することができます。次のメソッドでは、バッキング・ストアを利用できるかどうかを判断するために、値を変更した設定をバッキング・ストアにフラッシュしています。

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;
}