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 and 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, Collection<FileAlterationObserver> observers)
Constructs a monitor with the specified interval and collection of observers.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 and 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, Collection<FileAlterationObserver> observers)
Constructs a monitor with the specified interval and collection of observers.- Parameters:
-
interval
- The amount of time in milliseconds to wait between checks of the file system. -
observers
- The collection of observers to add to the monitor. - Since:
- 2.9.0
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 system. -
observers
- 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
Copyright © 2002–2021 The Apache Software Foundation. All rights reserved.