blob: 68ba441994ee1ba92c0282148aa0f2a7f86c5b60 [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_191) on Wed Dec 26 11:18:12 CET 2018 -->
<title>FutureDependencyBuilder</title>
<meta name="date" content="2018-12-26">
<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="FutureDependencyBuilder";
}
}
catch(err) {
}
//-->
var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":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="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/felix/dm/lambda/FluentProperty.html" title="interface in org.apache.felix.dm.lambda"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/felix/dm/lambda/ServiceAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/felix/dm/lambda/FutureDependencyBuilder.html" target="_top">Frames</a></li>
<li><a href="FutureDependencyBuilder.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>Nested&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.felix.dm.lambda</div>
<h2 title="Interface FutureDependencyBuilder" class="title">Interface FutureDependencyBuilder&lt;F&gt;</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>F</code> - the type of the CompletableFuture result.</dd>
</dl>
<dl>
<dt>All Superinterfaces:</dt>
<dd><a href="../../../../../org/apache/felix/dm/lambda/DependencyBuilder.html" title="interface in org.apache.felix.dm.lambda">DependencyBuilder</a>&lt;org.apache.felix.dm.Dependency&gt;</dd>
</dl>
<hr>
<br>
<pre>public interface <span class="typeNameLabel">FutureDependencyBuilder&lt;F&gt;</span>
extends <a href="../../../../../org/apache/felix/dm/lambda/DependencyBuilder.html" title="interface in org.apache.felix.dm.lambda">DependencyBuilder</a>&lt;org.apache.felix.dm.Dependency&gt;</pre>
<div class="block">Defines a builder for a CompletableFuture dependency.
<p> Using such dependency allows your component to wait for the completion of a given asynchronous task
represented by a standard jdk <code>CompletableFuture</code> object.
A FutureDependency is required and unblock the Component once the CompletableFuture result has completed.
<h3>Usage Example</h3>
<p> Here is an Activator that downloads a page from the web and injects the string result to the component before it is started.
When the web page is downloaded, the result is injected in the MyComponent::setPage method and
the component is then called in its "start" method:
<pre><code>
public class Activator extends DependencyManagerActivator {
public void init(BundleContext ctx, DependencyManager dm) throws Exception {
// Download a web page asynchronously, using a CompletableFuture:
String url = "http://felix.apache.org/";
CompletableFuture&lt;String&gt; page = CompletableFuture.supplyAsync(() -&gt; downloadSite(url));
// The component depends on a log service and on the content of the Felix site.
// The lambda passed to the "withFuture" method configures the callback that is
// invoked with the result of the CompletableFuture (the page content).
component(comp -&gt; comp
.impl(MyComponent.class)
.withService(LogService.class)
.withFuture(page, result -&gt; result.complete(MyComponent::setPage)));
}
}
public class MyComponent {
volatile LogService log; // injected.
void setPage(String page) {
// injected by the FutureDependency.
}
void start() {
// all required dependencies injected.
}
}
</code></pre></div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== 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>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="interface in org.apache.felix.dm.lambda">FutureDependencyBuilder</a>&lt;<a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="type parameter in FutureDependencyBuilder">F</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html#complete-org.apache.felix.dm.lambda.callbacks.CbFuture-">complete</a></span>(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/CbFuture.html" title="interface in org.apache.felix.dm.lambda.callbacks">CbFuture</a>&lt;T,? super <a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="type parameter in FutureDependencyBuilder">F</a>&gt;&nbsp;callback)</code>
<div class="block">Sets the function to invoke when the future task has completed.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="interface in org.apache.felix.dm.lambda">FutureDependencyBuilder</a>&lt;<a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="type parameter in FutureDependencyBuilder">F</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html#complete-org.apache.felix.dm.lambda.callbacks.CbFuture-boolean-">complete</a></span>(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/CbFuture.html" title="interface in org.apache.felix.dm.lambda.callbacks">CbFuture</a>&lt;T,? super <a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="type parameter in FutureDependencyBuilder">F</a>&gt;&nbsp;callback,
boolean&nbsp;async)</code>
<div class="block">Sets the function to invoke asynchronously when the future task has completed.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="interface in org.apache.felix.dm.lambda">FutureDependencyBuilder</a>&lt;<a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="type parameter in FutureDependencyBuilder">F</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html#complete-org.apache.felix.dm.lambda.callbacks.CbFuture-java.util.concurrent.Executor-">complete</a></span>(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/CbFuture.html" title="interface in org.apache.felix.dm.lambda.callbacks">CbFuture</a>&lt;T,? super <a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="type parameter in FutureDependencyBuilder">F</a>&gt;&nbsp;callback,
java.util.concurrent.Executor&nbsp;executor)</code>
<div class="block">Sets the function to invoke asynchronously when the future task has completed.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="interface in org.apache.felix.dm.lambda">FutureDependencyBuilder</a>&lt;<a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="type parameter in FutureDependencyBuilder">F</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html#complete-org.apache.felix.dm.lambda.callbacks.InstanceCbFuture-">complete</a></span>(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/InstanceCbFuture.html" title="interface in org.apache.felix.dm.lambda.callbacks">InstanceCbFuture</a>&lt;? super <a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="type parameter in FutureDependencyBuilder">F</a>&gt;&nbsp;callback)</code>
<div class="block">Sets the callback instance to invoke when the future task has completed.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="interface in org.apache.felix.dm.lambda">FutureDependencyBuilder</a>&lt;<a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="type parameter in FutureDependencyBuilder">F</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html#complete-org.apache.felix.dm.lambda.callbacks.InstanceCbFuture-boolean-">complete</a></span>(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/InstanceCbFuture.html" title="interface in org.apache.felix.dm.lambda.callbacks">InstanceCbFuture</a>&lt;? super <a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="type parameter in FutureDependencyBuilder">F</a>&gt;&nbsp;callback,
boolean&nbsp;async)</code>
<div class="block">Sets the callback instance to invoke when the future task has completed.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="interface in org.apache.felix.dm.lambda">FutureDependencyBuilder</a>&lt;<a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="type parameter in FutureDependencyBuilder">F</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html#complete-org.apache.felix.dm.lambda.callbacks.InstanceCbFuture-java.util.concurrent.Executor-">complete</a></span>(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/InstanceCbFuture.html" title="interface in org.apache.felix.dm.lambda.callbacks">InstanceCbFuture</a>&lt;? super <a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="type parameter in FutureDependencyBuilder">F</a>&gt;&nbsp;callback,
java.util.concurrent.Executor&nbsp;executor)</code>
<div class="block">Sets the callback instance to invoke when the future task has completed.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="interface in org.apache.felix.dm.lambda">FutureDependencyBuilder</a>&lt;<a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="type parameter in FutureDependencyBuilder">F</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html#complete-java.lang.Object-java.lang.String-">complete</a></span>(java.lang.Object&nbsp;callbackInstance,
java.lang.String&nbsp;callback)</code>
<div class="block">Sets the callback instance method name to invoke on a given Object instance, once the CompletableFuture has completed.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="interface in org.apache.felix.dm.lambda">FutureDependencyBuilder</a>&lt;<a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="type parameter in FutureDependencyBuilder">F</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html#complete-java.lang.String-">complete</a></span>(java.lang.String&nbsp;callback)</code>
<div class="block">Sets the callback method name to invoke on the component implementation, once the CompletableFuture has completed.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.felix.dm.lambda.DependencyBuilder">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.felix.dm.lambda.<a href="../../../../../org/apache/felix/dm/lambda/DependencyBuilder.html" title="interface in org.apache.felix.dm.lambda">DependencyBuilder</a></h3>
<code><a href="../../../../../org/apache/felix/dm/lambda/DependencyBuilder.html#build--">build</a></code></li>
</ul>
</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="complete-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>complete</h4>
<pre><a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="interface in org.apache.felix.dm.lambda">FutureDependencyBuilder</a>&lt;<a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="type parameter in FutureDependencyBuilder">F</a>&gt;&nbsp;complete(java.lang.String&nbsp;callback)</pre>
<div class="block">Sets the callback method name to invoke on the component implementation, once the CompletableFuture has completed.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>callback</code> - the callback method name to invoke on the component implementation, once the CompletableFuture on which we depend has completed.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this dependency.</dd>
</dl>
</li>
</ul>
<a name="complete-java.lang.Object-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>complete</h4>
<pre><a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="interface in org.apache.felix.dm.lambda">FutureDependencyBuilder</a>&lt;<a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="type parameter in FutureDependencyBuilder">F</a>&gt;&nbsp;complete(java.lang.Object&nbsp;callbackInstance,
java.lang.String&nbsp;callback)</pre>
<div class="block">Sets the callback instance method name to invoke on a given Object instance, once the CompletableFuture has completed.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>callbackInstance</code> - the object instance on which the callback must be invoked</dd>
<dd><code>callback</code> - the callback method name to invoke on Object instance, once the CompletableFuture has completed.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this dependency.</dd>
</dl>
</li>
</ul>
<a name="complete-org.apache.felix.dm.lambda.callbacks.CbFuture-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>complete</h4>
<pre>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="interface in org.apache.felix.dm.lambda">FutureDependencyBuilder</a>&lt;<a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="type parameter in FutureDependencyBuilder">F</a>&gt;&nbsp;complete(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/CbFuture.html" title="interface in org.apache.felix.dm.lambda.callbacks">CbFuture</a>&lt;T,? super <a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="type parameter in FutureDependencyBuilder">F</a>&gt;&nbsp;callback)</pre>
<div class="block">Sets the function to invoke when the future task has completed. The function is from one of the Component implementation classes, and it accepts the
result of the completed future.</div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - the type of the CompletableFuture result.</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>callback</code> - the function to perform when the future task as completed.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this dependency</dd>
</dl>
</li>
</ul>
<a name="complete-org.apache.felix.dm.lambda.callbacks.CbFuture-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>complete</h4>
<pre>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="interface in org.apache.felix.dm.lambda">FutureDependencyBuilder</a>&lt;<a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="type parameter in FutureDependencyBuilder">F</a>&gt;&nbsp;complete(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/CbFuture.html" title="interface in org.apache.felix.dm.lambda.callbacks">CbFuture</a>&lt;T,? super <a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="type parameter in FutureDependencyBuilder">F</a>&gt;&nbsp;callback,
boolean&nbsp;async)</pre>
<div class="block">Sets the function to invoke asynchronously when the future task has completed. The function is from one of the Component implementation classes,
and it accepts the result of the completed future.</div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - the type of the CompletableFuture result.</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>callback</code> - the function to perform when the future task as completed.</dd>
<dd><code>async</code> - true if the callback should be invoked asynchronously using the default jdk execution facility, false if not.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this dependency</dd>
</dl>
</li>
</ul>
<a name="complete-org.apache.felix.dm.lambda.callbacks.CbFuture-java.util.concurrent.Executor-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>complete</h4>
<pre>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="interface in org.apache.felix.dm.lambda">FutureDependencyBuilder</a>&lt;<a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="type parameter in FutureDependencyBuilder">F</a>&gt;&nbsp;complete(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/CbFuture.html" title="interface in org.apache.felix.dm.lambda.callbacks">CbFuture</a>&lt;T,? super <a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="type parameter in FutureDependencyBuilder">F</a>&gt;&nbsp;callback,
java.util.concurrent.Executor&nbsp;executor)</pre>
<div class="block">Sets the function to invoke asynchronously when the future task has completed. The function is from one of the Component implementation classes,
and it accepts the result of the completed future.</div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - the type of the CompletableFuture result.</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>callback</code> - the function to perform when the future task as completed.</dd>
<dd><code>executor</code> - the executor used to schedule the callback.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this dependency</dd>
</dl>
</li>
</ul>
<a name="complete-org.apache.felix.dm.lambda.callbacks.InstanceCbFuture-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>complete</h4>
<pre><a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="interface in org.apache.felix.dm.lambda">FutureDependencyBuilder</a>&lt;<a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="type parameter in FutureDependencyBuilder">F</a>&gt;&nbsp;complete(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/InstanceCbFuture.html" title="interface in org.apache.felix.dm.lambda.callbacks">InstanceCbFuture</a>&lt;? super <a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="type parameter in FutureDependencyBuilder">F</a>&gt;&nbsp;callback)</pre>
<div class="block">Sets the callback instance to invoke when the future task has completed. The callback is a Consumer instance which accepts the
result of the completed future.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>callback</code> - a Consumer instance which accepts the result of the completed future.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this dependency</dd>
</dl>
</li>
</ul>
<a name="complete-org.apache.felix.dm.lambda.callbacks.InstanceCbFuture-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>complete</h4>
<pre><a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="interface in org.apache.felix.dm.lambda">FutureDependencyBuilder</a>&lt;<a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="type parameter in FutureDependencyBuilder">F</a>&gt;&nbsp;complete(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/InstanceCbFuture.html" title="interface in org.apache.felix.dm.lambda.callbacks">InstanceCbFuture</a>&lt;? super <a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="type parameter in FutureDependencyBuilder">F</a>&gt;&nbsp;callback,
boolean&nbsp;async)</pre>
<div class="block">Sets the callback instance to invoke when the future task has completed. The callback is a Consumer instance which accepts the
result of the completed future.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>callback</code> - a Consumer instance which accepts the result of the completed future.</dd>
<dd><code>async</code> - true if the callback should be invoked asynchronously using the default jdk execution facility, false if not.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this dependency</dd>
</dl>
</li>
</ul>
<a name="complete-org.apache.felix.dm.lambda.callbacks.InstanceCbFuture-java.util.concurrent.Executor-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>complete</h4>
<pre><a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="interface in org.apache.felix.dm.lambda">FutureDependencyBuilder</a>&lt;<a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="type parameter in FutureDependencyBuilder">F</a>&gt;&nbsp;complete(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/InstanceCbFuture.html" title="interface in org.apache.felix.dm.lambda.callbacks">InstanceCbFuture</a>&lt;? super <a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="type parameter in FutureDependencyBuilder">F</a>&gt;&nbsp;callback,
java.util.concurrent.Executor&nbsp;executor)</pre>
<div class="block">Sets the callback instance to invoke when the future task has completed. The callback is a Consumer instance which accepts the
result of the completed future.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>callback</code> - the action to perform when the future task as completed.</dd>
<dd><code>executor</code> - the executor to use for asynchronous execution of the callback.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this dependency</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="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/felix/dm/lambda/FluentProperty.html" title="interface in org.apache.felix.dm.lambda"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/felix/dm/lambda/ServiceAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/felix/dm/lambda/FutureDependencyBuilder.html" target="_top">Frames</a></li>
<li><a href="FutureDependencyBuilder.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>Nested&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 ======= -->
</body>
</html>