Sprache

IWatchKey Schnittstelle

Definition

Ein Token, das die Registrierung eines Watchable watchable Objekts mit einem WatchServicedarstellt.

[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
Attribute
Implementiert

Hinweise

Ein Token, das die Registrierung eines Watchable watchable Objekts mit einem WatchServicedarstellt.

Ein Überwachungsschlüssel wird erstellt, wenn ein überwachungsfähiges Objekt bei einem Überwachungsdienst registriert wird. Der Schlüssel bleibt bis: ol>li Es wird explizit abgebrochen, indem er seine #cancel cancel Methode aufruft oder</li li><> implizit abgebrochen wird, da das Objekt nicht mehr zugänglich ist oder </li li>>< vom WatchService#close closing Watch-Dienst.><<#isValid valid </li></ol>

Ein Überwachungsschlüssel weist einen Zustand auf. Beim ersten Erstellen des Schlüssels wird als em>ready</em> bezeichnet<. Wenn ein Ereignis erkannt wird, wird <der Schlüssel signalisiert<>/em> und in die Warteschlange eingereiht, sodass es abgerufen werden kann, indem er die Methoden oder WatchService#take() take Methoden des Überwachungsdiensts WatchService#poll() poll aufruft. Nach dem Signal verbleibt ein Schlüssel in diesem Zustand, bis seine #reset reset Methode aufgerufen wird, um den Schlüssel in den Zustand "Bereit" zurückzugeben. Ereignisse, die erkannt wurden, während sich der Schlüssel im signalgesteuerten Zustand befindet, werden in die Warteschlange eingereiht, aber nicht dazu führen, dass der Schlüssel für den Abruf vom Überwachungsdienst erneut in die Warteschlange gestellt wird. Ereignisse werden abgerufen, indem die Methode des Schlüssels #pollEvents pollEvents aufgerufen wird. Mit dieser Methode werden alle ereignisse abgerufen und entfernt, die für das Objekt gesammelt wurden. Bei der ersten Erstellung weist ein Überwachungsschlüssel keine ausstehenden Ereignisse auf. In der Regel werden Ereignisse abgerufen, wenn sich der Schlüssel im signalisierten Zustand befindet, der zu folgendem Idiom führt:

for (;;) {
                    // retrieve key
                    WatchKey key = watcher.take();

                    // process events
                    for (WatchEvent&lt;?&gt; event: key.pollEvents()) {
                        :
                    }

                    // reset the key
                    boolean valid = key.reset();
                    if (!valid) {
                        // object no longer registered
                    }
                }

Überwachungstasten sind sicher für die Verwendung durch mehrere gleichzeitige Threads. Wenn es mehrere Threads gibt, die signalisierte Schlüssel von einem Überwachungsdienst abrufen, sollten Sie sicherstellen, dass die reset Methode nur aufgerufen wird, nachdem die Ereignisse für das Objekt verarbeitet wurden. Dadurch wird sichergestellt, dass ein Thread die Ereignisse für ein Objekt jederzeit verarbeitet.

In 1.7 hinzugefügt.

Java Dokumentation für java.nio.file.WatchKey.

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Eigenschaften

Name Beschreibung
Handle

Ruft den JNI-Wert des zugrunde liegenden Android-Objekts ab.

(Geerbt von IJavaObject)
IsValid

Ein Token, das die Registrierung eines Watchable watchable Objekts mit einem WatchServicedarstellt.

JniIdentityHashCode

Gibt den Wert java.lang.System.identityHashCode() für die umbrochene Instanz zurück.

(Geerbt von IJavaPeerable)
JniManagedPeerState

Status des verwalteten Peers.

(Geerbt von IJavaPeerable)
JniObjectReferenceControlBlock

Ein Token, das die Registrierung eines Watchable watchable Objekts mit einem WatchServicedarstellt.

(Geerbt von IJavaPeerable)
JniPeerMembers

Mitgliedszugriff und Aufrufunterstützung.

(Geerbt von IJavaPeerable)
PeerReference

Gibt eine JniObjectReference der umbrochenen Java Objektinstanz zurück.

(Geerbt von IJavaPeerable)

Methoden

Name Beschreibung
Cancel()

Bricht die Registrierung beim Watch-Dienst ab.

Disposed()

Wird aufgerufen, wenn die Instanz verworfen wurde.

(Geerbt von IJavaPeerable)
DisposeUnlessReferenced()

Wenn keine offenen Verweise auf diese Instanz vorhanden sind, wird nichts aufgerufen Dispose(). Andernfalls wird nichts ausgeführt.

(Geerbt von IJavaPeerable)
Finalized()

Wird aufgerufen, wenn die Instanz abgeschlossen wurde.

(Geerbt von IJavaPeerable)
PollEvents()

Ruft alle ausstehenden Ereignisse für diesen Überwachungsschlüssel ab und entfernt sie, wobei eine List der abgerufenen Ereignisse zurückgegeben wird.

Reset()

Setzt diesen Überwachungsschlüssel zurück.

SetJniIdentityHashCode(Int32)

Legen Sie den von JniIdentityHashCode.

(Geerbt von IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

Ein Token, das die Registrierung eines Watchable watchable Objekts mit einem WatchServicedarstellt.

(Geerbt von IJavaPeerable)
SetPeerReference(JniObjectReference)

Legen Sie den von PeerReference.

(Geerbt von IJavaPeerable)
UnregisterFromRuntime()

Heben Sie die Registrierung dieser Instanz auf, damit die Laufzeit sie nicht aus zukünftigen Java.Interop.JniRuntime+JniValueManager.PeekValue Aufrufen zurückgibt.

(Geerbt von IJavaPeerable)
Watchable()

Gibt das Objekt zurück, für das dieser Überwachungsschlüssel erstellt wurde.

Erweiterungsmethoden

Name Beschreibung
GetJniTypeName(IJavaPeerable)

Ruft den JNI-Namen des Typs der Instanz selfab.

JavaAs<TResult>(IJavaPeerable)

Versuchen Sie, die Eingabe selfzu TResult erzwingen, und überprüfen Sie, ob die Koersion auf der Java Seite gültig ist.

JavaCast<TResult>(IJavaObject)

Führt eine android-laufzeitgecheckte Typkonvertierung aus.

JavaCast<TResult>(IJavaObject)

Ein Token, das die Registrierung eines Watchable watchable Objekts mit einem WatchServicedarstellt.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Versuchen Sie, die Eingabe selfzu TResult erzwingen, und überprüfen Sie, ob die Koersion auf der Java Seite gültig ist.

Gilt für: