net.sf.eBusx.io.package-info Maven / Gradle / Ivy
//
// Copyright 2013 Charles W. Rapp
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
/**
* This package provides the ability to monitor file/directory
* creation, modification, and deletion via the
* {@link net.sf.eBusx.io.EFileNotification file notification}.
* The file name being watched is the message subject. For this
* reason, the {@link net.sf.eBusx.io.EFileWatcher} advertises
* its service locally since it cannot watch files on other
* hosts. Conversely, it can watch files mounted from remote file
* systems.
*
* The
* {@link net.sf.eBusx.io.EFileNotification file notification}
* contains:
*
* -
* the file name (as the message subject),
*
* -
* the
* {@link net.sf.eBusx.io.EFileNotification.EventType event type},
*
* -
* the file last modified time (as Java millisecond epoch),
*
* -
* and the file length in bytes.
*
*
*
* Watching a file or directory for changes is done by:
*
* -
* {@link net.sf.eBusx.io.EFileWatcher#startFileWatcher Starting the watcher service}.
* This service may be started at various rates from
* {@link net.sf.eBusx.io.EFileWatcher#MIN_WATCH_RATE} to
* {@link net.sf.eBusx.io.EFileWatcher#MAX_WATCH_RATE}
* (inclusive) but this rate applies to all monitored files.
*
* -
* Subscribing to a {@link net.sf.eBus.messages.EMessageKey}
* with {@link net.sf.eBusx.io.EFileNotification} as the
* message class and the file/directory name as the subject.
*
*
*/
package net.sf.eBusx.io;