blob: 3078bebeda3e279d46f53d89e5aec1eefac5c7fb [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.11) on Mon Jun 14 16:37:38 EDT 2021 -->
<title>PathWatcher (Jetty :: Project 9.4.42.v20210604 API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2021-06-14">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
<script type="text/javascript" src="../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../jquery/jquery-3.5.1.js"></script>
<script type="text/javascript" src="../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="PathWatcher (Jetty :: Project 9.4.42.v20210604 API)";
}
}
catch(err) {
}
//-->
var data = {"i0":10,"i1":9,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../";
var useModuleDirectories = false;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/PathWatcher.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.eclipse.jetty.util</a></div>
<h2 title="Class PathWatcher" class="title">Class PathWatcher</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li><a href="component/AbstractLifeCycle.html" title="class in org.eclipse.jetty.util.component">org.eclipse.jetty.util.component.AbstractLifeCycle</a></li>
<li>
<ul class="inheritance">
<li>org.eclipse.jetty.util.PathWatcher</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code>java.lang.Runnable</code>, <code><a href="component/LifeCycle.html" title="interface in org.eclipse.jetty.util.component">LifeCycle</a></code></dd>
</dl>
<hr>
<pre>public class <span class="typeNameLabel">PathWatcher</span>
extends <a href="component/AbstractLifeCycle.html" title="class in org.eclipse.jetty.util.component">AbstractLifeCycle</a>
implements java.lang.Runnable</pre>
<div class="block">Watch a Path (and sub directories) for Path changes.
<p>
Suitable replacement for the old <code>Scanner</code> implementation.
<p>
Allows for configured Excludes and Includes using <code>FileSystem.getPathMatcher(String)</code> syntax.
<p>
Reports activity via registered <a href="PathWatcher.Listener.html" title="interface in org.eclipse.jetty.util"><code>PathWatcher.Listener</code></a>s</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="PathWatcher.Config.html" title="class in org.eclipse.jetty.util">PathWatcher.Config</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="PathWatcher.DirAction.html" title="enum in org.eclipse.jetty.util">PathWatcher.DirAction</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static interface&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="PathWatcher.EventListListener.html" title="interface in org.eclipse.jetty.util">PathWatcher.EventListListener</a></span></code></th>
<td class="colLast">
<div class="block">EventListListener
Listener that reports accumulated events in one shot</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static interface&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="PathWatcher.Listener.html" title="interface in org.eclipse.jetty.util">PathWatcher.Listener</a></span></code></th>
<td class="colLast">
<div class="block">Listener for path change events</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="PathWatcher.PathMatcherSet.html" title="class in org.eclipse.jetty.util">PathWatcher.PathMatcherSet</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="PathWatcher.PathWatchEvent.html" title="class in org.eclipse.jetty.util">PathWatcher.PathWatchEvent</a></span></code></th>
<td class="colLast">
<div class="block">PathWatchEvent
Represents a file event.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="PathWatcher.PathWatchEventType.html" title="enum in org.eclipse.jetty.util">PathWatcher.PathWatchEventType</a></span></code></th>
<td class="colLast">
<div class="block">PathWatchEventType
Type of an event</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="nested.classes.inherited.from.class.org.eclipse.jetty.util.component.AbstractLifeCycle">
<!-- -->
</a>
<h3>Nested classes/interfaces inherited from class&nbsp;org.eclipse.jetty.util.component.<a href="component/AbstractLifeCycle.html" title="class in org.eclipse.jetty.util.component">AbstractLifeCycle</a></h3>
<code><a href="component/AbstractLifeCycle.AbstractLifeCycleListener.html" title="class in org.eclipse.jetty.util.component">AbstractLifeCycle.AbstractLifeCycleListener</a></code></li>
</ul>
</li>
</ul>
</section>
<!-- =========== FIELD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<ul class="blockList">
<li class="blockList"><a id="fields.inherited.from.class.org.eclipse.jetty.util.component.AbstractLifeCycle">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.eclipse.jetty.util.component.<a href="component/AbstractLifeCycle.html" title="class in org.eclipse.jetty.util.component">AbstractLifeCycle</a></h3>
<code><a href="component/AbstractLifeCycle.html#FAILED">FAILED</a>, <a href="component/AbstractLifeCycle.html#RUNNING">RUNNING</a>, <a href="component/AbstractLifeCycle.html#STARTED">STARTED</a>, <a href="component/AbstractLifeCycle.html#STARTING">STARTING</a>, <a href="component/AbstractLifeCycle.html#STOPPED">STOPPED</a>, <a href="component/AbstractLifeCycle.html#STOPPING">STOPPING</a></code></li>
</ul>
</li>
</ul>
</section>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E()">PathWatcher</a></span>()</code></th>
<td class="colLast">
<div class="block">Construct new PathWatcher</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addListener(java.util.EventListener)">addListener</a></span>&#8203;(java.util.EventListener&nbsp;listener)</code></th>
<td class="colLast">
<div class="block">Add a listener for changes the watcher notices.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>protected static &lt;T&gt;&nbsp;java.nio.file.WatchEvent&lt;T&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#cast(java.nio.file.WatchEvent)">cast</a></span>&#8203;(java.nio.file.WatchEvent&lt;?&gt;&nbsp;event)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#doStart()">doStart</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#doStop()">doStop</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>java.util.Collection&lt;<a href="PathWatcher.Config.html" title="class in org.eclipse.jetty.util">PathWatcher.Config</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getConfigs()">getConfigs</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>java.util.Iterator&lt;java.util.EventListener&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getListeners()">getListeners</a></span>()</code></th>
<td class="colLast">
<div class="block">Get an iterator over the listeners.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getUpdateQuietTimeMillis()">getUpdateQuietTimeMillis</a></span>()</code></th>
<td class="colLast">
<div class="block">Change the quiet time.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#handleWatchEvent(java.nio.file.Path,org.eclipse.jetty.util.PathWatcher.PathWatchEvent)">handleWatchEvent</a></span>&#8203;(java.nio.file.Path&nbsp;path,
<a href="PathWatcher.PathWatchEvent.html" title="class in org.eclipse.jetty.util">PathWatcher.PathWatchEvent</a>&nbsp;event)</code></th>
<td class="colLast">
<div class="block">Add an event reported by the WatchService to list of pending events
that will be sent after their quiet time has expired.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>protected boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isNotifiable()">isNotifiable</a></span>()</code></th>
<td class="colLast">
<div class="block">Check to see if the watcher is in a state where it should generate
watch events to the listeners.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isNotifyExistingOnStart()">isNotifyExistingOnStart</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#register(java.nio.file.Path,org.eclipse.jetty.util.PathWatcher.Config)">register</a></span>&#8203;(java.nio.file.Path&nbsp;path,
<a href="PathWatcher.Config.html" title="class in org.eclipse.jetty.util">PathWatcher.Config</a>&nbsp;config)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeListener(org.eclipse.jetty.util.PathWatcher.Listener)">removeListener</a></span>&#8203;(<a href="PathWatcher.Listener.html" title="interface in org.eclipse.jetty.util">PathWatcher.Listener</a>&nbsp;listener)</code></th>
<td class="colLast">
<div class="block">Delete a listener</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#reset()">reset</a></span>()</code></th>
<td class="colLast">
<div class="block">Remove all current configs and listeners.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#run()">run</a></span>()</code></th>
<td class="colLast">
<div class="block">Forever loop.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setNotifyExistingOnStart(boolean)">setNotifyExistingOnStart</a></span>&#8203;(boolean&nbsp;notify)</code></th>
<td class="colLast">
<div class="block">Whether or not to issue notifications for directories and files that
already exist when the watcher starts.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setUpdateQuietTime(long,java.util.concurrent.TimeUnit)">setUpdateQuietTime</a></span>&#8203;(long&nbsp;duration,
java.util.concurrent.TimeUnit&nbsp;unit)</code></th>
<td class="colLast">
<div class="block">Set the quiet time.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toString()">toString</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#watch(java.nio.file.Path)">watch</a></span>&#8203;(java.nio.file.Path&nbsp;file)</code></th>
<td class="colLast">
<div class="block">Request watch on a the given path (either file or dir)
using all Config defaults.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#watch(org.eclipse.jetty.util.PathWatcher.Config)">watch</a></span>&#8203;(<a href="PathWatcher.Config.html" title="class in org.eclipse.jetty.util">PathWatcher.Config</a>&nbsp;config)</code></th>
<td class="colLast">
<div class="block">Request watch on a path with custom Config
provided.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.eclipse.jetty.util.component.AbstractLifeCycle">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.eclipse.jetty.util.component.<a href="component/AbstractLifeCycle.html" title="class in org.eclipse.jetty.util.component">AbstractLifeCycle</a></h3>
<code><a href="component/AbstractLifeCycle.html#addLifeCycleListener(org.eclipse.jetty.util.component.LifeCycle.Listener)">addLifeCycleListener</a>, <a href="component/AbstractLifeCycle.html#getState()">getState</a>, <a href="component/AbstractLifeCycle.html#getState(org.eclipse.jetty.util.component.LifeCycle)">getState</a>, <a href="component/AbstractLifeCycle.html#getStopTimeout()">getStopTimeout</a>, <a href="component/AbstractLifeCycle.html#isFailed()">isFailed</a>, <a href="component/AbstractLifeCycle.html#isRunning()">isRunning</a>, <a href="component/AbstractLifeCycle.html#isStarted()">isStarted</a>, <a href="component/AbstractLifeCycle.html#isStarting()">isStarting</a>, <a href="component/AbstractLifeCycle.html#isStopped()">isStopped</a>, <a href="component/AbstractLifeCycle.html#isStopping()">isStopping</a>, <a href="component/AbstractLifeCycle.html#removeLifeCycleListener(org.eclipse.jetty.util.component.LifeCycle.Listener)">removeLifeCycleListener</a>, <a href="component/AbstractLifeCycle.html#setStopTimeout(long)">setStopTimeout</a>, <a href="component/AbstractLifeCycle.html#start()">start</a>, <a href="component/AbstractLifeCycle.html#stop()">stop</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>PathWatcher</h4>
<pre>public&nbsp;PathWatcher()</pre>
<div class="block">Construct new PathWatcher</div>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="cast(java.nio.file.WatchEvent)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>cast</h4>
<pre class="methodSignature">protected static&nbsp;&lt;T&gt;&nbsp;java.nio.file.WatchEvent&lt;T&gt;&nbsp;cast&#8203;(java.nio.file.WatchEvent&lt;?&gt;&nbsp;event)</pre>
</li>
</ul>
<a id="getConfigs()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getConfigs</h4>
<pre class="methodSignature">public&nbsp;java.util.Collection&lt;<a href="PathWatcher.Config.html" title="class in org.eclipse.jetty.util">PathWatcher.Config</a>&gt;&nbsp;getConfigs()</pre>
</li>
</ul>
<a id="watch(java.nio.file.Path)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>watch</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;watch&#8203;(java.nio.file.Path&nbsp;file)</pre>
<div class="block">Request watch on a the given path (either file or dir)
using all Config defaults. In the case of a dir,
the default is not to recurse into subdirs for watching.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>file</code> - the path to watch</dd>
</dl>
</li>
</ul>
<a id="watch(org.eclipse.jetty.util.PathWatcher.Config)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>watch</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;watch&#8203;(<a href="PathWatcher.Config.html" title="class in org.eclipse.jetty.util">PathWatcher.Config</a>&nbsp;config)</pre>
<div class="block">Request watch on a path with custom Config
provided.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>config</code> - the configuration to watch</dd>
</dl>
</li>
</ul>
<a id="addListener(java.util.EventListener)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addListener</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;addListener&#8203;(java.util.EventListener&nbsp;listener)</pre>
<div class="block">Add a listener for changes the watcher notices.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>listener</code> - change listener</dd>
</dl>
</li>
</ul>
<a id="doStart()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>doStart</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;doStart()
throws java.lang.Exception</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="component/AbstractLifeCycle.html#doStart()">doStart</a></code>&nbsp;in class&nbsp;<code><a href="component/AbstractLifeCycle.html" title="class in org.eclipse.jetty.util.component">AbstractLifeCycle</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="component/AbstractLifeCycle.html#doStart()"><code>AbstractLifeCycle.doStart()</code></a></dd>
</dl>
</li>
</ul>
<a id="doStop()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>doStop</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;doStop()
throws java.lang.Exception</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="component/AbstractLifeCycle.html#doStop()">doStop</a></code>&nbsp;in class&nbsp;<code><a href="component/AbstractLifeCycle.html" title="class in org.eclipse.jetty.util.component">AbstractLifeCycle</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="component/AbstractLifeCycle.html#doStop()"><code>AbstractLifeCycle.doStop()</code></a></dd>
</dl>
</li>
</ul>
<a id="reset()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>reset</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;reset()</pre>
<div class="block">Remove all current configs and listeners.</div>
</li>
</ul>
<a id="isNotifiable()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isNotifiable</h4>
<pre class="methodSignature">protected&nbsp;boolean&nbsp;isNotifiable()</pre>
<div class="block">Check to see if the watcher is in a state where it should generate
watch events to the listeners. Used to determine if watcher should generate
events for existing files and dirs on startup.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the watcher should generate events to the listeners.</dd>
</dl>
</li>
</ul>
<a id="getListeners()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getListeners</h4>
<pre class="methodSignature">public&nbsp;java.util.Iterator&lt;java.util.EventListener&gt;&nbsp;getListeners()</pre>
<div class="block">Get an iterator over the listeners.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>iterator over the listeners.</dd>
</dl>
</li>
</ul>
<a id="getUpdateQuietTimeMillis()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getUpdateQuietTimeMillis</h4>
<pre class="methodSignature">public&nbsp;long&nbsp;getUpdateQuietTimeMillis()</pre>
<div class="block">Change the quiet time.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the quiet time in millis</dd>
</dl>
</li>
</ul>
<a id="register(java.nio.file.Path,org.eclipse.jetty.util.PathWatcher.Config)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>register</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;register&#8203;(java.nio.file.Path&nbsp;path,
<a href="PathWatcher.Config.html" title="class in org.eclipse.jetty.util">PathWatcher.Config</a>&nbsp;config)
throws java.io.IOException</pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code></dd>
</dl>
</li>
</ul>
<a id="removeListener(org.eclipse.jetty.util.PathWatcher.Listener)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeListener</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;removeListener&#8203;(<a href="PathWatcher.Listener.html" title="interface in org.eclipse.jetty.util">PathWatcher.Listener</a>&nbsp;listener)</pre>
<div class="block">Delete a listener</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>listener</code> - the listener to remove</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the listener existed and was removed</dd>
</dl>
</li>
</ul>
<a id="run()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>run</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;run()</pre>
<div class="block">Forever loop.
Wait for the WatchService to report some filesystem events for the
watched paths.
When an event for a path first occurs, it is subjected to a quiet time.
Subsequent events that arrive for the same path during this quiet time are
accumulated and the timer reset. Only when the quiet time has expired are
the accumulated events sent. MODIFY events are handled slightly differently -
multiple MODIFY events arriving within a quiet time are coalesced into a
single MODIFY event. Both the accumulation of events and coalescing of MODIFY
events reduce the number and frequency of event reporting for "noisy" files (ie
those that are undergoing rapid change).</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>run</code>&nbsp;in interface&nbsp;<code>java.lang.Runnable</code></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><code>Runnable.run()</code></dd>
</dl>
</li>
</ul>
<a id="handleWatchEvent(java.nio.file.Path,org.eclipse.jetty.util.PathWatcher.PathWatchEvent)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>handleWatchEvent</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;handleWatchEvent&#8203;(java.nio.file.Path&nbsp;path,
<a href="PathWatcher.PathWatchEvent.html" title="class in org.eclipse.jetty.util">PathWatcher.PathWatchEvent</a>&nbsp;event)</pre>
<div class="block">Add an event reported by the WatchService to list of pending events
that will be sent after their quiet time has expired.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>path</code> - the path to add to the pending list</dd>
<dd><code>event</code> - the pending event</dd>
</dl>
</li>
</ul>
<a id="setNotifyExistingOnStart(boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setNotifyExistingOnStart</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setNotifyExistingOnStart&#8203;(boolean&nbsp;notify)</pre>
<div class="block">Whether or not to issue notifications for directories and files that
already exist when the watcher starts.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>notify</code> - true if existing paths should be notified or not</dd>
</dl>
</li>
</ul>
<a id="isNotifyExistingOnStart()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isNotifyExistingOnStart</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;isNotifyExistingOnStart()</pre>
</li>
</ul>
<a id="setUpdateQuietTime(long,java.util.concurrent.TimeUnit)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setUpdateQuietTime</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setUpdateQuietTime&#8203;(long&nbsp;duration,
java.util.concurrent.TimeUnit&nbsp;unit)</pre>
<div class="block">Set the quiet time.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>duration</code> - the quiet time duration</dd>
<dd><code>unit</code> - the quite time unit</dd>
</dl>
</li>
</ul>
<a id="toString()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>toString</h4>
<pre class="methodSignature">public&nbsp;java.lang.String&nbsp;toString()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="component/AbstractLifeCycle.html#toString()">toString</a></code>&nbsp;in class&nbsp;<code><a href="component/AbstractLifeCycle.html" title="class in org.eclipse.jetty.util.component">AbstractLifeCycle</a></code></dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/PathWatcher.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 1995&#x2013;2021 <a href="https://webtide.com">Webtide</a>. All rights reserved.</small></p>
</footer>
</body>
</html>