Added in API level 26

Watchable

interface Watchable
java.nio.file.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.

Summary

Public methods
abstract WatchKey!
register(watcher: WatchService!, vararg events: WatchEvent.Kind<*>!)

Registers an object with a watch service.

abstract WatchKey!
register(watcher: WatchService!, events: Array<WatchEvent.Kind<*>!>!, vararg modifiers: WatchEvent.Modifier!)

Registers an object with a watch service.

Public methods

register

Added in API level 26
abstract fun register(
    watcher: WatchService!,
    vararg events: WatchEvent.Kind<*>!
): WatchKey!

Registers an object with a watch service.

An invocation of this method behaves in exactly the same way as the invocation

watchable.<code><a docref="java.nio.file.Watchable$register(java.nio.file.WatchService, kotlin.Array((java.nio.file.WatchEvent.Kind((kotlin.Any)))), kotlin.Array((java.nio.file.WatchEvent.Modifier)))">register</a></code>(watcher, events, new WatchEvent.Modifier[0]);
  
Parameters
watcher WatchService!: the watch service to which this object is to be registered
events WatchEvent.Kind<*>!: the events for which this object should be registered
Return
WatchKey! a key representing the registration of this object with the given watch service
Exceptions
java.lang.UnsupportedOperationException if unsupported events are specified
java.lang.IllegalArgumentException if an invalid of combination of events are specified
java.nio.file.ClosedWatchServiceException if the watch service is closed
java.io.IOException if an I/O error occurs
java.lang.SecurityException 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

Added in API level 26
abstract fun register(
    watcher: WatchService!,
    events: Array<WatchEvent.Kind<*>!>!,
    vararg modifiers: WatchEvent.Modifier!
): WatchKey!

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 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 WatchService!: the watch service to which this object is to be registered
events Array<WatchEvent.Kind<*>!>!: the events for which this object should be registered
modifiers WatchEvent.Modifier!: the modifiers, if any, that modify how the object is registered
Return
WatchKey! a key representing the registration of this object with the given watch service
Exceptions
java.lang.UnsupportedOperationException if unsupported events or modifiers are specified
java.lang.IllegalArgumentException if an invalid of combination of events are modifiers are specified
java.nio.file.ClosedWatchServiceException if the watch service is closed
java.io.IOException if an I/O error occurs
java.lang.SecurityException 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.