X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=support%2Fgeneral%2Fsrc%2Fmain%2Fjava%2Forg%2Fwamblee%2Fio%2FDirectoryMonitor.java;h=685a0cb5ca5f5673902ac6c7b89f284d5ea4f844;hb=HEAD;hp=a4ad6d87f4a0bbf8f57c9f2a87318db57797558e;hpb=17775e14ecfb286e59f67117e5cee7e21e95ab1f;p=utils diff --git a/support/general/src/main/java/org/wamblee/io/DirectoryMonitor.java b/support/general/src/main/java/org/wamblee/io/DirectoryMonitor.java index a4ad6d87..685a0cb5 100644 --- a/support/general/src/main/java/org/wamblee/io/DirectoryMonitor.java +++ b/support/general/src/main/java/org/wamblee/io/DirectoryMonitor.java @@ -12,12 +12,9 @@ * 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. - */ + */ package org.wamblee.io; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; - import java.io.File; import java.io.FileFilter; @@ -26,14 +23,17 @@ import java.util.HashMap; import java.util.HashSet; import java.util.Map; import java.util.Set; +import java.util.logging.Logger; /** - * Monitors a directory for changes. + * Monitors a directory for changes. The currernt implementation only checks + * files not directories and does not check for modifications in subdirectories. * * @author Erik Brakkee */ public class DirectoryMonitor { - private static final Log LOG = LogFactory.getLog(DirectoryMonitor.class); + private static final Logger LOG = Logger.getLogger(DirectoryMonitor.class + .getName()); private File directory; @@ -68,7 +68,7 @@ public class DirectoryMonitor { * for the same changes. */ public void poll() { - LOG.debug("Polling " + directory); + LOG.fine("Polling " + directory); Map newContents = new HashMap(); File[] files = directory.listFiles(filter); @@ -110,11 +110,29 @@ public class DirectoryMonitor { contents = newContents; } + /** + * Listener interface to be provided by users of the directory monitor to + * get notified of changes. + * + * @author Erik Brakkee + */ public static interface Listener { + /** + * @param aFile + * File that has changed. + */ void fileChanged(File aFile); + /** + * @param aFile + * File that was created. + */ void fileCreated(File aFile); + /** + * @param aFile + * File that was deleted. + */ void fileDeleted(File aFile); } }