Package org.apache.commons.io.monitor
Class FileAlterationMonitor
- java.lang.Object
-
- org.apache.commons.io.monitor.FileAlterationMonitor
-
- All Implemented Interfaces:
Runnable
public final class FileAlterationMonitor extends Object implements Runnable
A runnable that spawns a monitoring thread triggering any registeredFileAlterationObserver
at a specified interval.- Since:
- 2.0
- See Also:
FileAlterationObserver
-
-
Constructor Summary
Constructors Constructor Description FileAlterationMonitor()
Constructs a monitor with a default interval of 10 seconds.FileAlterationMonitor(long interval)
Constructs a monitor with the specified interval.FileAlterationMonitor(long interval, FileAlterationObserver... observers)
Constructs a monitor with the specified interval and set of observers.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addObserver(FileAlterationObserver observer)
Adds a file system observer to this monitor.long
getInterval()
Returns the interval.Iterable<FileAlterationObserver>
getObservers()
Returns the set ofFileAlterationObserver
registered with this monitor.void
removeObserver(FileAlterationObserver observer)
Removes a file system observer from this monitor.void
run()
Runs this monitor.void
setThreadFactory(ThreadFactory threadFactory)
Sets the thread factory.void
start()
Starts monitoring.void
stop()
Stops monitoring.void
stop(long stopInterval)
Stops monitoring.
-
-
-
Constructor Detail
-
FileAlterationMonitor
public FileAlterationMonitor()
Constructs a monitor with a default interval of 10 seconds.
-
FileAlterationMonitor
public FileAlterationMonitor(long interval)
Constructs a monitor with the specified interval.- Parameters:
interval
- The amount of time in milliseconds to wait between checks of the file system
-
FileAlterationMonitor
public FileAlterationMonitor(long interval, FileAlterationObserver... observers)
Constructs a monitor with the specified interval and set of observers.- Parameters:
interval
- The amount of time in milliseconds to wait between checks of the file systemobservers
- The set of observers to add to the monitor.
-
-
Method Detail
-
getInterval
public long getInterval()
Returns the interval.- Returns:
- the interval
-
setThreadFactory
public void setThreadFactory(ThreadFactory threadFactory)
Sets the thread factory.- Parameters:
threadFactory
- the thread factory
-
addObserver
public void addObserver(FileAlterationObserver observer)
Adds a file system observer to this monitor.- Parameters:
observer
- The file system observer to add
-
removeObserver
public void removeObserver(FileAlterationObserver observer)
Removes a file system observer from this monitor.- Parameters:
observer
- The file system observer to remove
-
getObservers
public Iterable<FileAlterationObserver> getObservers()
Returns the set ofFileAlterationObserver
registered with this monitor.- Returns:
- The set of
FileAlterationObserver
-
start
public void start() throws Exception
Starts monitoring.- Throws:
Exception
- if an error occurs initializing the observer
-
stop
public void stop() throws Exception
Stops monitoring.- Throws:
Exception
- if an error occurs initializing the observer
-
stop
public void stop(long stopInterval) throws Exception
Stops monitoring.- Parameters:
stopInterval
- the amount of time in milliseconds to wait for the thread to finish. A value of zero will wait until the thread is finished (seeThread.join(long)
).- Throws:
Exception
- if an error occurs initializing the observer- Since:
- 2.1
-
-