public final class FileWatcherNIO2 extends EPJLifeCycle implements FileWatcher
Modifier and Type | Class and Description |
---|---|
private class |
FileWatcherNIO2.WatcherThread |
Modifier and Type | Field and Description |
---|---|
private static java.nio.file.WatchEvent.Kind<?>[] |
kinds |
private static org.slf4j.Logger |
log |
private java.util.List<RefreshListener> |
refreshListener |
private java.util.Map<java.nio.file.WatchKey,java.util.List<java.nio.file.Path>> |
watchKeyPath |
private java.nio.file.WatchService |
ws |
private java.lang.Thread |
wt |
Constructor and Description |
---|
FileWatcherNIO2(java.nio.file.WatchService ws) |
Modifier and Type | Method and Description |
---|---|
void |
addListener(RefreshListener listener) |
protected void |
doStart() |
protected void |
doStop() |
java.util.List<RefreshListener> |
getListeners() |
private boolean |
isRefreshNeeded(java.util.List<java.nio.file.WatchEvent<?>> events,
java.util.List<java.nio.file.Path> paths) |
private void |
refresh() |
void |
setWatcher(org.eclipse.jetty.util.component.LifeCycle lifeCycle) |
void |
watch(java.io.File file) |
lifeCycleFailure, lifeCycleStarted, lifeCycleStarting, lifeCycleStopped, lifeCycleStopping
private static final org.slf4j.Logger log
private final java.util.List<RefreshListener> refreshListener
private final java.nio.file.WatchService ws
private java.util.Map<java.nio.file.WatchKey,java.util.List<java.nio.file.Path>> watchKeyPath
private java.lang.Thread wt
private static final java.nio.file.WatchEvent.Kind<?>[] kinds
@Inject(optional=true) public void setWatcher(org.eclipse.jetty.util.component.LifeCycle lifeCycle)
public void watch(@Nullable java.io.File file)
watch
in interface FileWatcher
protected void doStart() throws java.io.IOException
doStart
in class org.eclipse.jetty.util.component.AbstractLifeCycle
java.io.IOException
protected void doStop() throws java.io.IOException
doStop
in class org.eclipse.jetty.util.component.AbstractLifeCycle
java.io.IOException
public void addListener(RefreshListener listener)
addListener
in interface FileWatcher
private void refresh()
private boolean isRefreshNeeded(java.util.List<java.nio.file.WatchEvent<?>> events, java.util.List<java.nio.file.Path> paths)
public java.util.List<RefreshListener> getListeners()
getListeners
in interface FileWatcher