AbstractPreferences クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
このクラスは、 Preferences クラスの骨格実装を提供し、実装のタスクを大幅に緩和します。
[Android.Runtime.Register("java/util/prefs/AbstractPreferences", DoNotGenerateAcw=true)]
public abstract class AbstractPreferences : Java.Util.Prefs.Preferences
[<Android.Runtime.Register("java/util/prefs/AbstractPreferences", DoNotGenerateAcw=true)>]
type AbstractPreferences = class
inherit Preferences
- 継承
- 属性
注釈
このクラスは、 Preferences クラスの骨格実装を提供し、実装のタスクを大幅に緩和します。
<strong>このクラスは、 Preferences 実装者のみを対象としています。
Preferences施設の通常のユーザーは、このドキュメントを参照する必要はありません。
Preferencesのドキュメントで十分です。</strong>
実装者は、 #getSpi(String)、 #putSpi(String,String)、 #removeSpi(String)、 #childSpi(String)、 #removeNodeSpi()、 #keysSpi()、 #childrenNamesSpi()、 #syncSpi() 、 #flushSpi()の 9 つの抽象サービス プロバイダー インターフェイス (SPI) メソッドをオーバーライドする必要があります。 すべての具象メソッドは、これらの SPI メソッドの上に実装される方法を正確に指定します。 既定の実装がパフォーマンスなどの何らかの理由で不十分な場合、実装者は、独自の判断で、1 つ以上の具象メソッドをオーバーライドできます。
SPI メソッドは、例外動作に関する 3 つのグループに分類されます。
getSpiメソッドは例外をスローしないでくださいが、このメソッドによってスローされた例外は#get(String,String)によってインターセプトされ、指定された既定値が呼び出し元に返されるため、実際には重要ではありません。
removeNodeSpi, keysSpi, childrenNamesSpi, syncSpiメソッドとflushSpi メソッドは、BackingStoreExceptionをスローするように指定されており、このチェックされた例外を実行できない場合は、実装でスローする必要があります。 例外が外側に伝達され、対応する API メソッドが失敗します。
残りの SPI メソッド #putSpi(String,String)、 #removeSpi(String) 、および #childSpi(String) では、より複雑な例外動作があります。 バッキング ストアが使用できない場合でも、通常はコントラクトに従うことができるため、 BackingStoreExceptionをスローするように指定されていません。 これは、情報が返されず、その影響は、 Preferences#flush() または Preferences#sync()の後続の呼び出しまで永続的になる必要がないために当てはまります。 一般に、これらの SPI メソッドは例外をスローしないでください。 一部の実装では、これらの呼び出しが後で処理するために要求された操作をエンキューできない場合があります。 このような状況でも、通常は例外をスローするのではなく、呼び出しを無視して返す方が良いです。 ただし、このような状況では、 flush() と sync の後続のすべての呼び出しは、 falseを返す必要があります。これは、 true を返すと、以前のすべての操作が正常に永続的に行われたことを意味するためです。
putSpi, removeSpi and childSpiが例外をスローする状況が 1 つあります。呼び出し元に、要求された操作を実行するための基になるオペレーティング システムに対する十分な特権がない場合です。 これは、たとえば、特権のないユーザーがシステム環境設定を変更しようとした場合に、ほとんどのシステムで発生します。 (必要な特権は実装によって異なります。一部の実装では、ファイル システム内のディレクトリの内容を変更する権限があります。他のユーザーには、レジストリ内のキーの内容を変更する権利があります。このような状況では、通常、後でこれらの操作が永続的になるかのようにプログラムを実行し続けるのは望ましくありません。 このような状況では、実装で例外をスローする必要はありませんが、例外をスローすることをお勧めします。
SecurityExceptionが適切です。
ほとんどの SPI メソッドでは、基本設定ノードで情報の読み取りまたは書き込みを行う実装が必要です。 実装者は、別の VM がこのノードをバッキング ストアから同時に削除した可能性があることを認識する必要があります。 ノードが削除された場合は、そのノードを再作成するのは実装の責任です。
実装に関する注意: Sun の既定の Preferences 実装では、ユーザーの ID は基になるオペレーティング システムから継承され、仮想マシンの有効期間中は変更されません。 サーバー側のPreferences実装では、静的なPreferences インスタンスを使用してThreadLocalメソッドに暗黙的に渡され、要求から要求にユーザー ID が変更される可能性があります。 このような実装の作成者は、ユーザーを各インスタンスに永続的に関連付けるのではなく、(たとえば、#get(String,String)や#put(String,String)メソッドによって) ユーザーがアクセスされた時点でユーザーを決定することをPreferences勧めします。 後者の動作は、通常の Preferences の使用と競合し、大きな混乱につながります。
1.4 で追加されました。
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。
コンストラクター
| 名前 | 説明 |
|---|---|
| AbstractPreferences(AbstractPreferences, String) |
指定した親と、その親を基準とする指定した名前を持つ基本設定ノードを作成します。 |
| AbstractPreferences(IntPtr, JniHandleOwnership) |
JNI オブジェクトのマネージド表現を作成するときに使用されるコンストラクター。ランタイムによって呼び出されます。 |
フィールド
| 名前 | 説明 |
|---|---|
| MaxKeyLength |
キーとして使用できる文字列の最大長 (80 文字)。 (継承元 Preferences) |
| MaxNameLength |
ノード名の最大長 (80 文字)。 (継承元 Preferences) |
| MaxValueLength |
値として使用できる文字列の最大長 (8192 文字)。 (継承元 Preferences) |
プロパティ
| 名前 | 説明 |
|---|---|
| Class |
この |
| Handle |
基になる Android インスタンスへのハンドル。 (継承元 Object) |
| IsRemoved |
|
| IsUserNode |
|
| JniIdentityHashCode |
相互運用ランタイムによってこのJava ピアに割り当てられた ID ハッシュ コードを取得します。 (継承元 Object) |
| JniManagedPeerState |
このクラスは、 |
| JniPeerMembers |
この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。 |
| Lock |
このノードをロックするためにモニターが使用されるオブジェクト。 |
| NewNode |
このオブジェクトを作成する前にこのノードがバッキング ストアに存在しなかった場合は、このフィールドを |
| PeerReference |
このJava ピアの JNI オブジェクト参照を取得します。 (継承元 Object) |
| ThresholdClass |
この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。 |
| ThresholdType |
この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。 |
メソッド
| 名前 | 説明 |
|---|---|
| AbsolutePath() |
|
| AddNodeChangeListener(INodeChangeListener) |
|
| AddPreferenceChangeListener(IPreferenceChangeListener) |
|
| CachedChildren() |
このノードの既知の移動されていない子をすべて返します。 |
| ChildrenNames() |
|
| ChildrenNamesSpi() |
この基本設定ノードの子の名前を返します。 |
| ChildSpi(String) |
この基本設定ノードの名前付き子を返し、まだ存在しない場合は作成します。 |
| Clear() |
|
| Clone() |
このオブジェクトのコピーを作成して返します。 (継承元 Object) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
このクラスは、 |
| Dispose() |
このJava ピアによって保持されているリソースを解放します。 (継承元 Object) |
| Dispose(Boolean) |
このJava ピアによって保持されているリソースを解放します。 (継承元 Object) |
| DisposeUnlessReferenced() |
このクラスは、 |
| Equals(Object) |
このクラスは、 |
| Equals(Object) |
他のオブジェクトがこのオブジェクトと "等しい" かどうかを示します。 (継承元 Object) |
| ExportNode(Stream) |
|
| ExportNodeAsync(Stream) |
このノードに含まれるすべての基本設定を表す XML ドキュメントを非同期的に出力しますが、その子孫は出力しません。 (継承元 Preferences) |
| ExportSubtree(Stream) |
|
| ExportSubtreeAsync(Stream) |
このノードとそのすべての子孫に含まれるすべての基本設定を表す XML ドキュメントを非同期的に出力します。 (継承元 Preferences) |
| Flush() |
|
| FlushAsync() |
この基本設定ノードとその子孫の変更を非同期的に永続的ストアに強制的に適用します。 (継承元 Preferences) |
| FlushSpi() |
このメソッドは、このノードがロックされた状態で呼び出されます。 |
| Get(String, String) |
|
| GetBoolean(String, Boolean) |
|
| GetByteArray(String, Byte[]) |
|
| GetChild(String) |
名前付き子が存在する場合は返し、存在しない場合は |
| GetDouble(String, Double) |
|
| GetFloat(String, Single) |
|
| GetHashCode() |
オブジェクトのハッシュ コード値を返します。 (継承元 Object) |
| GetInt(String, Int32) |
|
| GetLong(String, Int64) |
|
| GetSpi(String) |
この基本設定ノードで指定したキーに関連付けられている値を返すか、このキーの関連付けがない場合、または関連付けを現時点で特定できない場合に |
| JavaFinalize() |
古い.
オブジェクトへの参照がなくなったとガベージ コレクションによって判断されたときに、オブジェクトのガベージ コレクターによって呼び出されます。 (継承元 Object) |
| Keys() |
|
| KeysSpi() |
この基本設定ノードに関連付けられた値を持つすべてのキーを返します。 |
| Name() |
|
| Node(String) |
|
| NodeExists(String) |
|
| Notify() |
このオブジェクトのモニターで待機している 1 つのスレッドを起動します。 (継承元 Object) |
| NotifyAll() |
このオブジェクトのモニターで待機しているすべてのスレッドを起動します。 (継承元 Object) |
| Parent() |
|
| Put(String, String) |
|
| PutBoolean(String, Boolean) |
|
| PutByteArray(String, Byte[]) |
|
| PutDouble(String, Double) |
|
| PutFloat(String, Single) |
|
| PutInt(String, Int32) |
|
| PutLong(String, Int64) |
|
| PutSpi(String, String) |
指定されたキーと値の関連付けをこの基本設定ノードに配置します。 |
| Remove(String) |
|
| RemoveNode() |
|
| RemoveNodeChangeListener(INodeChangeListener) |
指定した |
| RemoveNodeSpi() |
この基本設定ノードを削除し、そのノードと、そのノードに含まれるすべての基本設定を無効にします。 |
| RemovePreferenceChangeListener(IPreferenceChangeListener) |
指定した |
| RemoveSpi(String) |
この基本設定ノードで、指定したキーの関連付けを削除します (存在する場合)。 |
| SetHandle(IntPtr, JniHandleOwnership) |
Handle プロパティを設定します。 (継承元 Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
このクラスは、 |
| Sync() |
|
| SyncAsync() |
この基本設定ノードとその子孫を永続的ストアと非同期的に同期します。 (継承元 Preferences) |
| SyncSpi() |
このメソッドは、このノードがロックされた状態で呼び出されます。 |
| ToArray<T>() |
このJava配列ラッパーからマネージド配列を作成します。 (継承元 Object) |
| ToString() |
この基本設定ノードの絶対パス名を返します。 |
| UnregisterFromRuntime() |
相互運用ランタイムからこのJava ピアの登録を解除します。 (継承元 Object) |
| Wait() |
現在のスレッドが起動するまで待機します。通常は、 <em>notified</em> または <em>interrupted</em>。 (継承元 Object) |
| Wait(Int64, Int32) |
現在のスレッドは、通常、 <em>notified</em> または <em>interrupted</em>、または一定のリアルタイムが経過するまで、起動されるまで待機します。 (継承元 Object) |
| Wait(Int64) |
現在のスレッドは、通常、 <em>notified</em> または <em>interrupted</em>、または一定のリアルタイムが経過するまで、起動されるまで待機します。 (継承元 Object) |
明示的なインターフェイスの実装
| 名前 | 説明 |
|---|---|
| IJavaPeerable.Disposed() |
このクラスは、 |
| IJavaPeerable.Finalized() |
このクラスは、 |
| IJavaPeerable.JniObjectReferenceControlBlock |
このクラスは、 |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
このクラスは、 |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
このクラスは、 |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
このクラスは、 |
拡張メソッド
| 名前 | 説明 |
|---|---|
| GetJniTypeName(IJavaPeerable) |
インスタンス |
| JavaAs<TResult>(IJavaPeerable) |
|
| JavaCast<TResult>(IJavaObject) |
Android ランタイムチェック型変換を実行します。 |
| JavaCast<TResult>(IJavaObject) |
このクラスは、 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
|