blob: 2d0523bd869152ec3c35706441f883b2d6982022 [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_112) on Mon Dec 18 11:25:18 EST 2017 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JobRegistryService (Apache Edgent (incubating) v1.2.0 API)</title>
<meta name="date" content="2017-12-18">
<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 (Apache Edgent (incubating) v1.2.0 API)";
}
}
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>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;id)</code>
<div class="block">Returns a job given its identifier.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&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>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&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 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></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><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></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><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&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(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&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 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></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><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></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(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&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>
<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&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>