net.sf.eBusx.io.package-info Maven / Gradle / Ivy
/*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later
* version.
*
* This library is distributed in the hope that it will be
* useful, but WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
* PURPOSE. See the GNU Lesser General Public License for more
* details.
*
* You should have received a copy of the GNU Lesser General
* Public License along with this library; if not, write to the
*
* Free Software Foundation, Inc.,
* 59 Temple Place, Suite 330,
* Boston, MA
* 02111-1307 USA
*
* The Initial Developer of the Original Code is Charles W. Rapp.
* Portions created by Charles W. Rapp are
* Copyright 2013. Charles W. Rapp
* All Rights Reserved.
*/
/**
* 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;