blob: 954ebccd3b8c353683f74d1d26e036e917727701 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_77) on Mon Oct 24 00:05:44 UTC 2016 -->
<title>JobRegistryService (Edgent v1.0.0)</title>
<meta name="date" content="2016-10-24">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="JobRegistryService (Edgent v1.0.0)";
}
}
catch(err) {
}
//-->
var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/JobRegistryService.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">
<li><a href="../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/edgent/execution/services/JobRegistryService.html" target="_top">Frames</a></li>
<li><a href="JobRegistryService.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></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>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&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>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.edgent.execution.services</div>
<h2 title="Interface JobRegistryService" class="title">Interface JobRegistryService</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><a href="../../../../../org/apache/edgent/runtime/jobregistry/JobRegistry.html" title="class in org.apache.edgent.runtime.jobregistry">JobRegistry</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="typeNameLabel">JobRegistryService</span></pre>
<div class="block">Job registry service.
<p>
Keeps the list of <a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution"><code>Job</code></a> instances registered by the runtime and
provides the necessary methods to register and remove jobs, access
registered jobs, as well as register listeners which are notified on job
registrations, removals, and updates.
The following event types are sent to registered listeners:
</p>
<ul>
<li>An <a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html#ADD"><code>JobRegistryService.EventType.ADD</code></a> event is sent when a job is added.</li>
<li>An <a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html#REMOVE"><code>JobRegistryService.EventType.REMOVE</code></a> event is sent when a job is removed.</li>
<li>An <a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html#UPDATE"><code>JobRegistryService.EventType.UPDATE</code></a> event is sent when a job is updated.</li>
</ul>
<h3>Event dispatch</h3>
If a listener invocation throws an Exception, then the exception
will not prevent the remaining listeners from being invoked. However,
if the invocation throws an Error, then it is recommended that
the event dispatch stop.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Interface and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services">JobRegistryService.EventType</a></span></code>
<div class="block">Job event types.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</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="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html#addJob-org.apache.edgent.execution.Job-">addJob</a></span>(<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&nbsp;job)</code>
<div class="block">Adds the specified job.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html#addListener-org.apache.edgent.function.BiConsumer-">addListener</a></span>(<a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services">JobRegistryService.EventType</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;listener)</code>
<div class="block">Adds a handler to a collection of listeners that will be notified
on job registration and state changes.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html#getJob-java.lang.String-">getJob</a></span>(java.lang.String&nbsp;id)</code>
<div class="block">Returns a job given its identifier.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>java.util.Set&lt;java.lang.String&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html#getJobIds--">getJobIds</a></span>()</code>
<div class="block">Returns a set of all the registered job identifiers.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html#removeJob-java.lang.String-">removeJob</a></span>(java.lang.String&nbsp;jobId)</code>
<div class="block">Removes the job specified by the given identifier.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html#removeListener-org.apache.edgent.function.BiConsumer-">removeListener</a></span>(<a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services">JobRegistryService.EventType</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;listener)</code>
<div class="block">Removes a handler from this registry's collection of listeners.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html#updateJob-org.apache.edgent.execution.Job-">updateJob</a></span>(<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&nbsp;job)</code>
<div class="block">Notifies listeners that the specified registered job has
been updated.</div>
</td>
</tr>
</table>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="addListener-org.apache.edgent.function.BiConsumer-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addListener</h4>
<pre>void&nbsp;addListener(<a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services">JobRegistryService.EventType</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;listener)
throws java.lang.IllegalArgumentException</pre>
<div class="block">Adds a handler to a collection of listeners that will be notified
on job registration and state changes. Listeners will be notified
in the order in which they are added.
<p>
A listener is notified of all existing jobs when it is first added.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>listener</code> - the listener that will be added</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - if the listener parameter is
<code>null</code></dd>
</dl>
</li>
</ul>
<a name="removeListener-org.apache.edgent.function.BiConsumer-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeListener</h4>
<pre>boolean&nbsp;removeListener(<a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services">JobRegistryService.EventType</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;listener)</pre>
<div class="block">Removes a handler from this registry's collection of listeners.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>listener</code> - the listener that will be removed</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>whether or not the listener has been removed</dd>
</dl>
</li>
</ul>
<a name="getJobIds--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getJobIds</h4>
<pre>java.util.Set&lt;java.lang.String&gt;&nbsp;getJobIds()</pre>
<div class="block">Returns a set of all the registered job identifiers.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the identifiers of all the jobs</dd>
</dl>
</li>
</ul>
<a name="getJob-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getJob</h4>
<pre><a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&nbsp;getJob(java.lang.String&nbsp;id)</pre>
<div class="block">Returns a job given its identifier.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>id</code> - job identifier</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the job or <code>null</code> if no job is registered with that
identifier.</dd>
</dl>
</li>
</ul>
<a name="addJob-org.apache.edgent.execution.Job-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addJob</h4>
<pre>void&nbsp;addJob(<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&nbsp;job)
throws java.lang.IllegalArgumentException</pre>
<div class="block">Adds the specified job.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>job</code> - the job to register</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - if a job is null, or if a job with
the same identifier is already registered</dd>
</dl>
</li>
</ul>
<a name="removeJob-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeJob</h4>
<pre>boolean&nbsp;removeJob(java.lang.String&nbsp;jobId)</pre>
<div class="block">Removes the job specified by the given identifier.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>jobId</code> - the identifier of the job to remove</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>whether or not the job was removed</dd>
</dl>
</li>
</ul>
<a name="updateJob-org.apache.edgent.execution.Job-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>updateJob</h4>
<pre>boolean&nbsp;updateJob(<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&nbsp;job)</pre>
<div class="block">Notifies listeners that the specified registered job has
been updated.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>job</code> - the job</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>whether or not the job was found in the registry</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/JobRegistryService.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/edgent/execution/services/JobRegistryService.html" target="_top">Frames</a></li>
<li><a href="JobRegistryService.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.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>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&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>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2016 The Apache Software Foundation. All Rights Reserved - 59dfbdf-20161024-0005</small></p>
</body>
</html>