com.ibm.wsspi.kernel.filemonitor
Interface FileMonitor


public interface FileMonitor

Components that want to monitor the file system for changes should implement the FileMonitor interface and register that implementation in the service registry.

The properties associated with the registered service specify what resources are monitored and with what frequency. Valid service properties are listed as constants below with descriptive javadoc.


Field Summary
static java.lang.String MONITOR_DIRECTORIES
          Service property
static java.lang.String MONITOR_FILES
          Service property
static java.lang.String MONITOR_FILTER
          Service property
static java.lang.String MONITOR_FILTER_DIRECTORIES_ONLY
          Property value
static java.lang.String MONITOR_FILTER_FILES_ONLY
          Property value
static java.lang.String MONITOR_INCLUDE_SELF
          Service property
static java.lang.String MONITOR_INTERVAL
          Service property
static java.lang.String MONITOR_RECURSE
          Service property
static java.lang.String MONITOR_TYPE
          Service property
static java.lang.String MONITOR_TYPE_EXTERNAL
          Property value
static java.lang.String MONITOR_TYPE_TIMED
          Property value
 
Method Summary
 void onBaseline(java.util.Collection<java.io.File> baseline)
          Called with the result of a scan of specified resources.
 void onChange(java.util.Collection<java.io.File> createdFiles, java.util.Collection<java.io.File> modifiedFiles, java.util.Collection<java.io.File> deletedFiles)
          Called by the monitor service when a scheduled scan completes with changes (indicated by the presence of files in the corresponding collection).
 

Field Detail

MONITOR_FILES

static final java.lang.String MONITOR_FILES

Service property

The value should be a Collection, indicating what paths should be monitored. Elements of the collection will only be monitored while they do not exist, or exist as files.

See Also:
Constant Field Values

MONITOR_DIRECTORIES

static final java.lang.String MONITOR_DIRECTORIES

Service property

The value should be a Collection, indicating what paths should be monitored. Elements of the collection will only be monitored while they do not exist, or exist as directories.

See Also:
Constant Field Values

MONITOR_INTERVAL

static final java.lang.String MONITOR_INTERVAL

Service property

Poll/Scanning interval as a long with a time unit suffix: e.g. 2ms or 5s. This is not a compound interval (e.g. 5s2ms will not work)

See Also:
Constant Field Values

MONITOR_RECURSE

static final java.lang.String MONITOR_RECURSE

Service property

The value of this property should be a boolean: if true, a the monitor will receive notifications for individual files in the directory tree that have changed. If false, the monitor will only receive notification for the immediate children of the specified directory.

For example, given monitored directory A:

See Also:
Constant Field Values

MONITOR_INCLUDE_SELF

static final java.lang.String MONITOR_INCLUDE_SELF

Service property

The value of this property should be a boolean: If true, the monitor will additionally notify for the creation/deletion of any directories being monitored. If false, the monitor will report only on any files monitored, and the content of any monitored directories.

For example, given monitored directory A:

See Also:
Constant Field Values

MONITOR_FILTER

static final java.lang.String MONITOR_FILTER

Service property

The value associated with this property is a collection, where each string is either a regex match of names, or a simple string: "files" for only watching files, and "directories" for only monitoring directories.

This applies only to monitoring directories. Given monitored directory A:


MONITOR_FILTER_DIRECTORIES_ONLY

static final java.lang.String MONITOR_FILTER_DIRECTORIES_ONLY

Property value

Special filter string limiting the monitor to directories only.

See Also:
MONITOR_FILTER, Constant Field Values

MONITOR_FILTER_FILES_ONLY

static final java.lang.String MONITOR_FILTER_FILES_ONLY

Property value

Special filter string limiting the monitor to files only

See Also:
MONITOR_FILTER, Constant Field Values

MONITOR_TYPE

static final java.lang.String MONITOR_TYPE

Service property

The value of this property determines how the file monitoring is to be performed. Acceptable values are as follows: ("timed" is the default setting.)

See Also:
Constant Field Values

MONITOR_TYPE_TIMED

static final java.lang.String MONITOR_TYPE_TIMED

Property value

Monitor at regular intervals.

See Also:
Constant Field Values

MONITOR_TYPE_EXTERNAL

static final java.lang.String MONITOR_TYPE_EXTERNAL

Property value

Defer monitoring to an external agent.

See Also:
Constant Field Values
Method Detail

onBaseline

void onBaseline(java.util.Collection<java.io.File> baseline)
Called with the result of a scan of specified resources. Only resources that existed at the time of the scan will be included.

Parameters:
baseline - Collection of files which match the specified filters that were discovered during the scan.
See Also:
#MONITOR_BASELINE

onChange

void onChange(java.util.Collection<java.io.File> createdFiles,
              java.util.Collection<java.io.File> modifiedFiles,
              java.util.Collection<java.io.File> deletedFiles)
Called by the monitor service when a scheduled scan completes with changes (indicated by the presence of files in the corresponding collection).

Parameters:
createdFiles - A collection of files that were created since the last scan.
modifiedFiles - A collection of files that were modified since the last scan.
deletedFiles - A collection of files that were deleted since the last scan.