Class WatchServiceDirectoryWatcher

  • All Implemented Interfaces:
    java.lang.Runnable

    public class WatchServiceDirectoryWatcher
    extends java.lang.Object
    Implementation of a AbstractDirectoryWatcher that uses WatchService. This implementation is used for Java 7 and later.
    Since:
    2.4
    See Also:
    WatchServiceDirectoryWatcher, DirectoryWatcher
    • Field Detail

      • active

        protected volatile boolean active
      • sleepTime

        protected long sleepTime
    • Constructor Detail

      • WatchServiceDirectoryWatcher

        public WatchServiceDirectoryWatcher()
    • Method Detail

      • run

        public void run()
      • addWatchFile

        public void addWatchFile​(java.io.File fileToWatch)
        Adds a file to the watch list
        Parameters:
        fileToWatch - The file to watch
      • addWatchDirectory

        public void addWatchDirectory​(java.io.File dir,
                                      java.util.List<java.lang.String> fileExtensions)
        Adds a directory to watch for the given file and extensions. No String in the fileExtensions list can start with a dot (DirectoryWatcher guarantees that)
        Parameters:
        dir - The directory
        fileExtensions - The extensions
      • setActive

        public void setActive​(boolean active)
        Sets whether to stop the directory watcher
        Parameters:
        active - False if you want to stop watching
      • setSleepTime

        public void setSleepTime​(long sleepTime)
        Sets the amount of time to sleep between checks
        Parameters:
        sleepTime - The sleep time
      • addListener

        public void addListener​(DirectoryWatcher.FileChangeListener listener)
        Adds a file listener that can react to change events
        Parameters:
        listener - The file listener
      • removeListener

        public void removeListener​(DirectoryWatcher.FileChangeListener listener)
        Removes a file listener from the current list
        Parameters:
        listener - The file listener
      • fireOnChange

        protected void fireOnChange​(java.io.File file)
      • fireOnNew

        protected void fireOnNew​(java.io.File file)
      • isValidDirectoryToMonitor

        protected boolean isValidDirectoryToMonitor​(java.io.File file)
      • isValidFileToMonitor

        protected boolean isValidFileToMonitor​(java.io.File file,
                                               java.util.Collection<java.lang.String> fileExtensions)
      • getFilenameExtension

        public static java.lang.String getFilenameExtension​(java.lang.String path)
        Extract the filename extension from the given path, e.g. "mypath/myfile.txt" -> "txt".
        Parameters:
        path - the file path (maybe null)
        Returns:
        the extracted filename extension, or null if none