IWatchKey インターフェイス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
Watchable watchableを持つWatchService オブジェクトの登録を表すトークン。
[Android.Runtime.Register("java/nio/file/WatchKey", "", "Java.Nio.FileNio.IWatchKeyInvoker", ApiSince=26)]
public interface IWatchKey : Android.Runtime.IJavaObject, IDisposable, Java.Interop.IJavaPeerable
[<Android.Runtime.Register("java/nio/file/WatchKey", "", "Java.Nio.FileNio.IWatchKeyInvoker", ApiSince=26)>]
type IWatchKey = interface
interface IJavaObject
interface IDisposable
interface IJavaPeerable
- 属性
- 実装
注釈
Watchable watchableを持つWatchService オブジェクトの登録を表すトークン。
ウォッチ 可能なオブジェクトがウォッチ サービスに登録されると、ウォッチ キーが作成されます。 キーは、#isValid validol<>li<> メソッドを呼び出すことによって明示的に取り消されるか、オブジェクトにアクセスできなくなったために暗黙的に取り消されるか#cancel cancel/li<>li< Cancelled になるまで、または>/li<>li< ウォッチ サービスを>するまでWatchService#close closing。
</li></ol>
ウォッチ キーには状態があります。 最初に作成されたとき、キーは <em>ready</em> と言われます。 イベントが検出されると、キーは <em>signalled</em> キューに入れ、ウォッチ サービスの WatchService#poll() poll または WatchService#take() take メソッドを呼び出して取得できるようにします。 シグナル通知が行われると、 #reset reset メソッドが呼び出されてキーが準備完了状態に戻るまで、キーはこの状態のままになります。 キーがシグナル状態の間に検出されたイベントはキューに入れられますが、ウォッチ サービスから取得するためにキーが再キューに入れられます。 イベントは、キーの #pollEvents pollEvents メソッドを呼び出すことによって取得されます。 このメソッドは、オブジェクトに対して蓄積されたすべてのイベントを取得および削除します。 最初に作成されたとき、ウォッチ キーには保留中のイベントはありません。 通常、イベントは、キーがシグナル状態の場合に取得され、次のイディオムが発生します。
for (;;) {
// retrieve key
WatchKey key = watcher.take();
// process events
for (WatchEvent<?> event: key.pollEvents()) {
:
}
// reset the key
boolean valid = key.reset();
if (!valid) {
// object no longer registered
}
}
ウォッチ キーは、複数の同時実行スレッドで安全に使用できます。 監視サービスからシグナル化されたキーを取得するスレッドが複数ある場合は、オブジェクトのイベントが処理された後にのみ reset メソッドが呼び出されるように注意する必要があります。 これにより、1 つのスレッドがオブジェクトのイベントをいつでも処理できるようになります。
1.7 で追加されました。
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。
プロパティ
| Name | 説明 |
|---|---|
| Handle |
基になる Android オブジェクトの JNI 値を取得します。 (継承元 IJavaObject) |
| IsValid |
このウォッチ キーが有効かどうかを示します。 |
| JniIdentityHashCode |
ラップされたインスタンスの |
| JniManagedPeerState |
マネージド ピアの状態。 (継承元 IJavaPeerable) |
| JniObjectReferenceControlBlock |
|
| JniPeerMembers |
メンバー アクセスと呼び出しのサポート。 (継承元 IJavaPeerable) |
| PeerReference |
ラップされたJava オブジェクト インスタンスのJniObjectReferenceを返します。 (継承元 IJavaPeerable) |
メソッド
| Name | 説明 |
|---|---|
| Cancel() |
ウォッチ サービスへの登録を取り消します。 |
| Disposed() |
インスタンスが破棄されたときに呼び出されます。 (継承元 IJavaPeerable) |
| DisposeUnlessReferenced() |
このインスタンスへの未処理の参照がない場合は、 |
| Finalized() |
インスタンスが終了したときに呼び出されます。 (継承元 IJavaPeerable) |
| PollEvents() |
このウォッチ キーのすべての保留中のイベントを取得および削除し、取得されたイベントの |
| Reset() |
このウォッチ キーをリセットします。 |
| SetJniIdentityHashCode(Int32) |
|
| SetJniManagedPeerState(JniManagedPeerStates) |
|
| SetPeerReference(JniObjectReference) |
|
| UnregisterFromRuntime() |
ランタイムが将来の Java.Interop.JniRuntime+JniValueManager.PeekValue 呼び出しから返されないように、このインスタンスの登録を解除します。 (継承元 IJavaPeerable) |
| Watchable() |
このウォッチ キーが作成されたオブジェクトを返します。 |
拡張メソッド
| Name | 説明 |
|---|---|
| GetJniTypeName(IJavaPeerable) |
インスタンス |
| JavaAs<TResult>(IJavaPeerable) |
|
| JavaCast<TResult>(IJavaObject) |
Android ランタイムチェック型変換を実行します。 |
| JavaCast<TResult>(IJavaObject) |
|
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
|