Watchable (Java Platform SE 8 ) (original) (raw)
- All Known Subinterfaces:
Path
public interface Watchable
An object that may be registered with a watch service so that it can be_watched_ for changes and events.
This interface defines the register method to register the object with a WatchService returning a WatchKey to represent the registration. An object may be registered with more than one watch service. Registration with a watch service is cancelled by invoking the key's cancel method.
Since:
1.7
See Also:
Path.register(java.nio.file.WatchService, java.nio.file.WatchEvent.Kind<?>[], java.nio.file.WatchEvent.Modifier...)
Method Summary
All Methods Instance Methods Abstract Methods
Modifier and Type Method Description WatchKey register(WatchService watcher,WatchEvent.Kind<?>... events) Registers an object with a watch service. WatchKey register(WatchService watcher,WatchEvent.Kind<?>[] events,WatchEvent.Modifier... modifiers) Registers an object with a watch service. Method Detail
* #### register [WatchKey](../../../java/nio/file/WatchKey.html "interface in java.nio.file") register([WatchService](../../../java/nio/file/WatchService.html "interface in java.nio.file") watcher, [WatchEvent.Kind](../../../java/nio/file/WatchEvent.Kind.html "interface in java.nio.file")<?>[] events, [WatchEvent.Modifier](../../../java/nio/file/WatchEvent.Modifier.html "interface in java.nio.file")... modifiers) throws [IOException](../../../java/io/IOException.html "class in java.io") Registers an object with a watch service. If the file system object identified by this object is currently registered with the watch service then the watch key, representing that registration, is returned after changing the event set or modifiers to those specified by the `events` and `modifiers` parameters. Changing the event set does not cause pending events for the object to be discarded. Objects are automatically registered for the [OVERFLOW](../../../java/nio/file/StandardWatchEventKinds.html#OVERFLOW) event. This event is not required to be present in the array of events. Otherwise the file system object has not yet been registered with the given watch service, so it is registered and the resulting new key is returned. Implementations of this interface should specify the events they support. Parameters: `watcher` \- the watch service to which this object is to be registered `events` \- the events for which this object should be registered `modifiers` \- the modifiers, if any, that modify how the object is registered Returns: a key representing the registration of this object with the given watch service Throws: `[UnsupportedOperationException](../../../java/lang/UnsupportedOperationException.html "class in java.lang")` \- if unsupported events or modifiers are specified `[IllegalArgumentException](../../../java/lang/IllegalArgumentException.html "class in java.lang")` \- if an invalid of combination of events are modifiers are specified `[ClosedWatchServiceException](../../../java/nio/file/ClosedWatchServiceException.html "class in java.nio.file")` \- if the watch service is closed `[IOException](../../../java/io/IOException.html "class in java.io")` \- if an I/O error occurs `[SecurityException](../../../java/lang/SecurityException.html "class in java.lang")` \- if a security manager is installed and it denies an unspecified permission required to monitor this object. Implementations of this interface should specify the permission checks. * #### register [WatchKey](../../../java/nio/file/WatchKey.html "interface in java.nio.file") register([WatchService](../../../java/nio/file/WatchService.html "interface in java.nio.file") watcher, [WatchEvent.Kind](../../../java/nio/file/WatchEvent.Kind.html "interface in java.nio.file")<?>... events) throws [IOException](../../../java/io/IOException.html "class in java.io") Registers an object with a watch service. An invocation of this method behaves in exactly the same way as the invocation watchable.[register](../../../java/nio/file/Watchable.html#register-java.nio.file.WatchService-java.nio.file.WatchEvent.Kind:A-java.nio.file.WatchEvent.Modifier...-)(watcher, events, new WatchEvent.Modifier[0]); Parameters: `watcher` \- the watch service to which this object is to be registered `events` \- the events for which this object should be registered Returns: a key representing the registration of this object with the given watch service Throws: `[UnsupportedOperationException](../../../java/lang/UnsupportedOperationException.html "class in java.lang")` \- if unsupported events are specified `[IllegalArgumentException](../../../java/lang/IllegalArgumentException.html "class in java.lang")` \- if an invalid of combination of events are specified `[ClosedWatchServiceException](../../../java/nio/file/ClosedWatchServiceException.html "class in java.nio.file")` \- if the watch service is closed `[IOException](../../../java/io/IOException.html "class in java.io")` \- if an I/O error occurs `[SecurityException](../../../java/lang/SecurityException.html "class in java.lang")` \- if a security manager is installed and it denies an unspecified permission required to monitor this object. Implementations of this interface should specify the permission checks.
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.