Added: felix/site/trunk/content/apidocs/dependencymanager.lambda/r9/org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html URL: http://svn.apache.org/viewvc/felix/site/trunk/content/apidocs/dependencymanager.lambda/r9/org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html?rev=1782916&view=auto ============================================================================== --- felix/site/trunk/content/apidocs/dependencymanager.lambda/r9/org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html (added) +++ felix/site/trunk/content/apidocs/dependencymanager.lambda/r9/org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html Tue Feb 14 07:10:16 2017 @@ -0,0 +1,669 @@ +<!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_102) on Tue Feb 14 08:07:55 CET 2017 --> +<title>FactoryPidAdapterBuilder</title> +<meta name="date" content="2017-02-14"> +<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="FactoryPidAdapterBuilder"; + } + } + catch(err) { + } +//--> +var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":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/DependencyManagerActivator.html" title="class in org.apache.felix.dm.lambda"><span class="typeNameLink">Prev Class</span></a></li> +<li><a href="../../../../../org/apache/felix/dm/lambda/FluentProperty.html" title="interface in org.apache.felix.dm.lambda"><span class="typeNameLink">Next Class</span></a></li> +</ul> +<ul class="navList"> +<li><a href="../../../../../index.html?org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html" target="_top">Frames</a></li> +<li><a href="FactoryPidAdapterBuilder.html" target="_top">No Frames</a></li> +</ul> +<ul class="navList" id="allclasses_navbar_top"> +<li><a href="../../../../../allclasses-noframe.html">All 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: </li> +<li>Nested | </li> +<li>Field | </li> +<li>Constr | </li> +<li><a href="#method.summary">Method</a></li> +</ul> +<ul class="subNavList"> +<li>Detail: </li> +<li>Field | </li> +<li>Constr | </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 FactoryPidAdapterBuilder" class="title">Interface FactoryPidAdapterBuilder</h2> +</div> +<div class="contentContainer"> +<div class="description"> +<ul class="blockList"> +<li class="blockList"> +<dl> +<dt>All Superinterfaces:</dt> +<dd><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="interface in org.apache.felix.dm.lambda">ComponentBuilder</a><<a href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda">FactoryPidAdapterBuilder</a>></dd> +</dl> +<hr> +<br> +<pre>public interface <span class="typeNameLabel">FactoryPidAdapterBuilder</span> +extends <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="interface in org.apache.felix.dm.lambda">ComponentBuilder</a><<a href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda">FactoryPidAdapterBuilder</a>></pre> +<div class="block">Builds a Dependency Manager Factory Configuration Adapter Component. <p> For each new Config Admin factory configuration matching a given factory pid, + an adapter will be created based on the adapter implementation class. The adapter will be registered with the specified interface, + and with the specified adapter service properties. Depending on the propagate parameter, every public factory configuration properties + (which don't start with ".") will be propagated along with the adapter service properties. + + This builded supports type safe configuration types. For a given factory configuration, you can specify an interface of your choice, + and DM will implement it using a dynamic proxy that converts interface methods to lookups in the actual factory configuration dictionary. + For more information about configuration types, please refer to <a href="../../../../../org/apache/felix/dm/lambda/ConfigurationDependencyBuilder.html" title="interface in org.apache.felix.dm.lambda"><code>ConfigurationDependencyBuilder</code></a>. + + <p> Example that defines a factory configuration adapter service for the "foo.bar" factory pid. For each factory pid instance, + an instance of the DictionaryImpl component will be created. + + <pre> <code> + public class Activator extends DependencyManagerActivator { + public void init(BundleContext ctx, DependencyManager dm) throws Exception { + factoryPidAdapter(adapter -> adapter + .impl(DictionaryImpl.class) + .factoryPid("foo.bar") + .update(ServiceImpl::updated) + .propagate() + .withSvc(LogService.class, log -> log.optional())); + } + } + </code></pre> + + <p> Example that defines a factory configuration adapter using a user defined configuration type + (the pid is by default assumed to match the fqdn of the configuration type): + + <pre> <code> + + public interface DictionaryConfiguration { + public String getLanguage(); + public List<String> getWords(); + } + + public class Activator extends DependencyManagerActivator { + public void init(BundleContext ctx, DependencyManager dm) throws Exception { + factoryPidAdapter(adapter -> adapter + .impl(DictionaryImpl.class) + .factoryPid("foo.bar") + .update(DictionaryConfiguration.class, ServiceImpl::updated) + .propagate() + .withSvc(LogService.class, log -> log.optional())); + } + } + </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"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd"> </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><a href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda">FactoryPidAdapterBuilder</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html#factoryPid-java.lang.String-">factoryPid</a></span>(java.lang.String pid)</code> +<div class="block">Specifies the factory pid used by the adapter.</div> +</td> +</tr> +<tr id="i1" class="rowColor"> +<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda">FactoryPidAdapterBuilder</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html#propagate--">propagate</a></span>()</code> +<div class="block">Specifies if the public properties (not starting with a dot) should be propagated to the adapter service properties (false by default).</div> +</td> +</tr> +<tr id="i2" class="altColor"> +<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda">FactoryPidAdapterBuilder</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html#propagate-boolean-">propagate</a></span>(boolean propagate)</code> +<div class="block">Specifies if the public properties (not starting with a dot) should be propagated to the adapter service properties (false by default).</div> +</td> +</tr> +<tr id="i3" class="rowColor"> +<td class="colFirst"><code><T> <a href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda">FactoryPidAdapterBuilder</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html#update-org.apache.felix.dm.lambda.callbacks.CbDictionary-">update</a></span>(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/CbDictionary.html" title="interface in org.apache.felix.dm.lambda.callbacks">CbDictionary</a><T> callback)</code> +<div class="block">Specifies a method reference that will be called on one of the component classes when the configuration is injected.</div> +</td> +</tr> +<tr id="i4" class="altColor"> +<td class="colFirst"><code><T> <a href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda">FactoryPidAdapterBuilder</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html#update-org.apache.felix.dm.lambda.callbacks.CbDictionaryComponent-">update</a></span>(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/CbDictionaryComponent.html" title="interface in org.apache.felix.dm.lambda.callbacks">CbDictionaryComponent</a><T> callback)</code> +<div class="block">Specifies a method reference that will be called on one of the component classes when the configuration is injected</div> +</td> +</tr> +<tr id="i5" class="rowColor"> +<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda">FactoryPidAdapterBuilder</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html#update-java.lang.Class-java.lang.Object-java.lang.String-">update</a></span>(java.lang.Class<?> configType, + java.lang.Object callbackInstance, + java.lang.String updateMethod)</code> +<div class="block">Specifies a callback instance method that will be called on a given object instance when the configuration is injected.</div> +</td> +</tr> +<tr id="i6" class="altColor"> +<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda">FactoryPidAdapterBuilder</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html#update-java.lang.Class-java.lang.String-">update</a></span>(java.lang.Class<?> configType, + java.lang.String updateMethod)</code> +<div class="block">Sets a callback method to call on the component implementation when the configuration is updated.</div> +</td> +</tr> +<tr id="i7" class="rowColor"> +<td class="colFirst"><code><T> <a href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda">FactoryPidAdapterBuilder</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html#update-java.lang.Class-org.apache.felix.dm.lambda.callbacks.InstanceCbConfiguration-">update</a></span>(java.lang.Class<T> configType, + <a href="../../../../../org/apache/felix/dm/lambda/callbacks/InstanceCbConfiguration.html" title="interface in org.apache.felix.dm.lambda.callbacks">InstanceCbConfiguration</a><T> callback)</code> +<div class="block">Specifies a method reference that will be called on a given object instance when the configuration is injected.</div> +</td> +</tr> +<tr id="i8" class="altColor"> +<td class="colFirst"><code><T> <a href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda">FactoryPidAdapterBuilder</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html#update-java.lang.Class-org.apache.felix.dm.lambda.callbacks.InstanceCbConfigurationComponent-">update</a></span>(java.lang.Class<T> configType, + <a href="../../../../../org/apache/felix/dm/lambda/callbacks/InstanceCbConfigurationComponent.html" title="interface in org.apache.felix.dm.lambda.callbacks">InstanceCbConfigurationComponent</a><T> callback)</code> +<div class="block">Specifies a method reference that will be called on a given object instance when the configuration is injected.</div> +</td> +</tr> +<tr id="i9" class="rowColor"> +<td class="colFirst"><code><T,U> <a href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda">FactoryPidAdapterBuilder</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html#update-java.lang.Class-org.apache.felix.dm.lambda.callbacks.CbConfiguration-">update</a></span>(java.lang.Class<U> configType, + <a href="../../../../../org/apache/felix/dm/lambda/callbacks/CbConfiguration.html" title="interface in org.apache.felix.dm.lambda.callbacks">CbConfiguration</a><T,U> callback)</code> +<div class="block">Specifies a method reference that will be called on one of the component classes when the configuration is injected.</div> +</td> +</tr> +<tr id="i10" class="altColor"> +<td class="colFirst"><code><T,U> <a href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda">FactoryPidAdapterBuilder</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html#update-java.lang.Class-org.apache.felix.dm.lambda.callbacks.CbConfigurationComponent-">update</a></span>(java.lang.Class<U> configType, + <a href="../../../../../org/apache/felix/dm/lambda/callbacks/CbConfigurationComponent.html" title="interface in org.apache.felix.dm.lambda.callbacks">CbConfigurationComponent</a><T,U> callback)</code> +<div class="block">Specifies a method reference that will be called on one of the component classes when the configuration is injected.</div> +</td> +</tr> +<tr id="i11" class="rowColor"> +<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda">FactoryPidAdapterBuilder</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html#update-org.apache.felix.dm.lambda.callbacks.InstanceCbDictionary-">update</a></span>(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/InstanceCbDictionary.html" title="interface in org.apache.felix.dm.lambda.callbacks">InstanceCbDictionary</a> callback)</code> +<div class="block">Specifies a method reference that will be called on a given object instance when the configuration is injected</div> +</td> +</tr> +<tr id="i12" class="altColor"> +<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda">FactoryPidAdapterBuilder</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html#update-org.apache.felix.dm.lambda.callbacks.InstanceCbDictionaryComponent-">update</a></span>(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/InstanceCbDictionaryComponent.html" title="interface in org.apache.felix.dm.lambda.callbacks">InstanceCbDictionaryComponent</a> callback)</code> +<div class="block">Specifies a method reference that will be called on a given object instance when the configuration is injected.</div> +</td> +</tr> +<tr id="i13" class="rowColor"> +<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda">FactoryPidAdapterBuilder</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html#update-java.lang.Object-java.lang.String-">update</a></span>(java.lang.Object callbackInstance, + java.lang.String updateMethod)</code> +<div class="block">Specifies a callback instance method that will be called on a given object instance when the configuration is injected.</div> +</td> +</tr> +<tr id="i14" class="altColor"> +<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda">FactoryPidAdapterBuilder</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html#update-java.lang.String-">update</a></span>(java.lang.String updateMethod)</code> +<div class="block">Specifies a callback method that will be called on the component implementation when the configuration is injected.</div> +</td> +</tr> +</table> +<ul class="blockList"> +<li class="blockList"><a name="methods.inherited.from.class.org.apache.felix.dm.lambda.ComponentBuilder"> +<!-- --> +</a> +<h3>Methods inherited from interface org.apache.felix.dm.lambda.<a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="interface in org.apache.felix.dm.lambda">ComponentBuilder</a></h3> +<code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#autoAdd-boolean-">autoAdd</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#autoConfig-java.lang.Class-boolean-">autoConfig</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#autoConfig-java.lang.Class-java.lang.String-">autoConfig</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#build--">build</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#composition-java.lang.Object-java.lang.String-">composition</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#composition-java.lang.String-">composition</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#composition-java.util.function.Supplier-">composition</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#debug-java.lang.String-">debug</a>, <a href="../../../../../org/apach e/felix/dm/lambda/ComponentBuilder.html#destroy-org.apache.felix.dm.lambda.callbacks.InstanceCb-">destroy</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#destroy-org.apache.felix.dm.lambda.callbacks.InstanceCbComponent-">destroy</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#destroy-java.lang.Object-java.lang.String-">destroy</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#destroy-java.lang.String-">destroy</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#factory-java.lang.Object-java.lang.String-">factory</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#factory-java.util.function.Supplier-">factory</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#factory-java.util.function.Supplier-java.util.function.Supplier-">factory</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#factory-jav a.util.function.Supplier-java.util.function.Function-java.util.function.Function-">factory</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#factory-java.util.function.Supplier-java.util.function.Function-">factory</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#impl-java.lang.Object-">impl</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#init-org.apache.felix.dm.lambda.callbacks.InstanceCb-">init</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#init-org.apache.felix.dm.lambda.callbacks.InstanceCbComponent-">init</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#init-java.lang.Object-java.lang.String-">init</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#init-java.lang.String-">init</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#listener-ComponentStateListener-">listener</a>, <a hr ef="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#properties-java.util.Dictionary-">properties</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#properties-org.apache.felix.dm.lambda.FluentProperty...-">properties</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#properties-java.lang.String-java.lang.Object-java.lang.Object...-">properties</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#provides-java.lang.Class-">provides</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#provides-java.lang.Class:A-">provides</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#provides-java.lang.Class:A-java.util.Dictionary-">provides</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#provides-java.lang.Class:A-org.apache.felix.dm.lambda.FluentProperty...-">provides</a>, <a href="../../../../../org/apache/felix/dm/lamb da/ComponentBuilder.html#provides-java.lang.Class:A-java.lang.String-java.lang.Object-java.lang.Object...-">provides</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#provides-java.lang.Class-java.util.Dictionary-">provides</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#provides-java.lang.Class-org.apache.felix.dm.lambda.FluentProperty...-">provides</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#provides-java.lang.Class-java.lang.String-java.lang.Object-java.lang.Object...-">provides</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#provides-java.lang.String-">provides</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#provides-java.lang.String:A-">provides</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#provides-java.lang.String:A-java.util.Dictionary-">provides</a>, <a href="../../../../../org/apache/felix/dm /lambda/ComponentBuilder.html#provides-java.lang.String:A-org.apache.felix.dm.lambda.FluentProperty...-">provides</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#provides-java.lang.String:A-java.lang.String-java.lang.Object-java.lang.Object...-">provides</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#provides-java.lang.String-java.util.Dictionary-">provides</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#provides-java.lang.String-org.apache.felix.dm.lambda.FluentProperty...-">provides</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#provides-java.lang.String-java.lang.String-java.lang.Object-java.lang.Object...-">provides</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#start-org.apache.felix.dm.lambda.callbacks.InstanceCb-">start</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#start-org.apache.felix.dm.lam bda.callbacks.InstanceCbComponent-">start</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#start-java.lang.Object-java.lang.String-">start</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#start-java.lang.String-">start</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#stop-org.apache.felix.dm.lambda.callbacks.InstanceCb-">stop</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#stop-org.apache.felix.dm.lambda.callbacks.InstanceCbComponent-">stop</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#stop-java.lang.Object-java.lang.String-">stop</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#stop-java.lang.String-">stop</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#withBundle-java.util.function.Consumer-">withBundle</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.h tml#withCnf-java.lang.Class-">withCnf</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#withCnf-java.util.function.Consumer-">withCnf</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#withCnf-java.lang.String...-">withCnf</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#withDep-Dependency-">withDep</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#withFuture-java.util.concurrent.CompletableFuture-java.util.function.Consumer-">withFuture</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#withSvc-boolean-java.lang.Class...-">withSvc</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#withSvc-java.lang.Class...-">withSvc</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#withSvc-java.lang.Class-boolean-">withSvc</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#withSvc -java.lang.Class-java.lang.String-boolean-">withSvc</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#withSvc-java.lang.Class-java.lang.String-java.lang.String-boolean-">withSvc</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#withSvc-java.lang.Class-java.util.function.Consumer-">withSvc</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="factoryPid-java.lang.String-"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>factoryPid</h4> +<pre><a href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda">FactoryPidAdapterBuilder</a> factoryPid(java.lang.String pid)</pre> +<div class="block">Specifies the factory pid used by the adapter.</div> +<dl> +<dt><span class="paramLabel">Parameters:</span></dt> +<dd><code>pid</code> - the factory pid.</dd> +<dt><span class="returnLabel">Returns:</span></dt> +<dd>this builder</dd> +</dl> +</li> +</ul> +<a name="propagate--"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>propagate</h4> +<pre><a href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda">FactoryPidAdapterBuilder</a> propagate()</pre> +<div class="block">Specifies if the public properties (not starting with a dot) should be propagated to the adapter service properties (false by default).</div> +<dl> +<dt><span class="returnLabel">Returns:</span></dt> +<dd>this builder.</dd> +</dl> +</li> +</ul> +<a name="propagate-boolean-"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>propagate</h4> +<pre><a href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda">FactoryPidAdapterBuilder</a> propagate(boolean propagate)</pre> +<div class="block">Specifies if the public properties (not starting with a dot) should be propagated to the adapter service properties (false by default).</div> +<dl> +<dt><span class="paramLabel">Parameters:</span></dt> +<dd><code>propagate</code> - true if the public properties should be propagated to the adapter service properties (false by default).</dd> +<dt><span class="returnLabel">Returns:</span></dt> +<dd>this builder.</dd> +</dl> +</li> +</ul> +<a name="update-java.lang.String-"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>update</h4> +<pre><a href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda">FactoryPidAdapterBuilder</a> update(java.lang.String updateMethod)</pre> +<div class="block">Specifies a callback method that will be called on the component implementation when the configuration is injected.</div> +<dl> +<dt><span class="paramLabel">Parameters:</span></dt> +<dd><code>updateMethod</code> - the method to call on the component implementation when the configuration is available ("updated" by default). + + <p>The following method signatures are supported: + <ol> + <li> method(Dictionary properties) + <li> method(Component component, Dictionary properties) + </ol></dd> +<dt><span class="returnLabel">Returns:</span></dt> +<dd>this builder</dd> +</dl> +</li> +</ul> +<a name="update-java.lang.Class-java.lang.String-"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>update</h4> +<pre><a href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda">FactoryPidAdapterBuilder</a> update(java.lang.Class<?> configType, + java.lang.String updateMethod)</pre> +<div class="block">Sets a callback method to call on the component implementation when the configuration is updated. + The callback is invoked with a configuration type argument. + + <p>The following callback signatures are supported and searched in the following order: + <ol> + <li>method(Dictionary)</li> + <li>method(Component, Dictionary)</li> + <li>method(Configuration) // same type as the one specified in the "configType" argument</li> + <li>method(Component, Configuration) // Configuration has the same type as the one specified in the "configType" argument</li> + </ol></div> +<dl> +<dt><span class="paramLabel">Parameters:</span></dt> +<dd><code>configType</code> - the type of a configuration that is passed as argument to the callback</dd> +<dd><code>updateMethod</code> - the callback to call on the component implementation when the configuration is updated.</dd> +<dt><span class="returnLabel">Returns:</span></dt> +<dd>this builder</dd> +</dl> +</li> +</ul> +<a name="update-java.lang.Object-java.lang.String-"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>update</h4> +<pre><a href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda">FactoryPidAdapterBuilder</a> update(java.lang.Object callbackInstance, + java.lang.String updateMethod)</pre> +<div class="block">Specifies a callback instance method that will be called on a given object instance when the configuration is injected.</div> +<dl> +<dt><span class="paramLabel">Parameters:</span></dt> +<dd><code>updateMethod</code> - the method to call on the given object instance when the configuration is available ("updated" by default). + The following method signatures are supported: + + <pre> <code> + method(Dictionary properties) + method(Component component, Dictionary properties) + </code></pre></dd> +<dd><code>callbackInstance</code> - the Object instance on which the updated callback will be invoked.</dd> +<dt><span class="returnLabel">Returns:</span></dt> +<dd>this builder</dd> +</dl> +</li> +</ul> +<a name="update-java.lang.Class-java.lang.Object-java.lang.String-"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>update</h4> +<pre><a href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda">FactoryPidAdapterBuilder</a> update(java.lang.Class<?> configType, + java.lang.Object callbackInstance, + java.lang.String updateMethod)</pre> +<div class="block">Specifies a callback instance method that will be called on a given object instance when the configuration is injected. + The callback is invoked with a configuration type argument. + + <p>The following callback signatures are supported and searched in the following order: + <ol> + <li>method(Dictionary)</li> + <li>method(Component, Dictionary)</li> + <li>method(Configuration) // same type as the one specified in the "configType" argument</li> + <li>method(Component, Configuration) // Configuration has the same type as the one specified in the "configType" argument</li> + </ol></div> +<dl> +<dt><span class="paramLabel">Parameters:</span></dt> +<dd><code>configType</code> - the type of a configuration that is passed as argument to the callback</dd> +<dd><code>callbackInstance</code> - the Object instance on which the updated callback will be invoked.</dd> +<dd><code>updateMethod</code> - the method to call on the given object instance when the configuration is available. The callback is invoked + with a configuration type argument (matching the configType you have specified.</dd> +<dt><span class="returnLabel">Returns:</span></dt> +<dd>this builder</dd> +</dl> +</li> +</ul> +<a name="update-org.apache.felix.dm.lambda.callbacks.CbDictionary-"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>update</h4> +<pre><T> <a href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda">FactoryPidAdapterBuilder</a> update(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/CbDictionary.html" title="interface in org.apache.felix.dm.lambda.callbacks">CbDictionary</a><T> callback)</pre> +<div class="block">Specifies a method reference that will be called on one of the component classes when the configuration is injected. + The callback is invoked with a Dictionary argument.</div> +<dl> +<dt><span class="paramLabel">Type Parameters:</span></dt> +<dd><code>T</code> - the type of the component implementation class on which the callback is invoked on.</dd> +<dt><span class="paramLabel">Parameters:</span></dt> +<dd><code>callback</code> - the method to call on one of the component classes when the configuration is available.</dd> +<dt><span class="returnLabel">Returns:</span></dt> +<dd>this builder</dd> +</dl> +</li> +</ul> +<a name="update-java.lang.Class-org.apache.felix.dm.lambda.callbacks.CbConfiguration-"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>update</h4> +<pre><T,U> <a href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda">FactoryPidAdapterBuilder</a> update(java.lang.Class<U> configType, + <a href="../../../../../org/apache/felix/dm/lambda/callbacks/CbConfiguration.html" title="interface in org.apache.felix.dm.lambda.callbacks">CbConfiguration</a><T,U> callback)</pre> +<div class="block">Specifies a method reference that will be called on one of the component classes when the configuration is injected. + The callback is invoked with a configuration type argument.</div> +<dl> +<dt><span class="paramLabel">Type Parameters:</span></dt> +<dd><code>T</code> - the type of the component implementation class on which the callback is invoked on.</dd> +<dd><code>U</code> - the configuration type accepted by the callback method.</dd> +<dt><span class="paramLabel">Parameters:</span></dt> +<dd><code>configType</code> - the type of a configuration that is passed as argument to the callback</dd> +<dd><code>callback</code> - the method to call on one of the component classes when the configuration is available.</dd> +<dt><span class="returnLabel">Returns:</span></dt> +<dd>this builder</dd> +</dl> +</li> +</ul> +<a name="update-org.apache.felix.dm.lambda.callbacks.CbDictionaryComponent-"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>update</h4> +<pre><T> <a href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda">FactoryPidAdapterBuilder</a> update(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/CbDictionaryComponent.html" title="interface in org.apache.felix.dm.lambda.callbacks">CbDictionaryComponent</a><T> callback)</pre> +<div class="block">Specifies a method reference that will be called on one of the component classes when the configuration is injected</div> +<dl> +<dt><span class="paramLabel">Type Parameters:</span></dt> +<dd><code>T</code> - the type of the component implementation class on which the callback is invoked on.</dd> +<dt><span class="paramLabel">Parameters:</span></dt> +<dd><code>callback</code> - the reference to a method on one of the component classes. The method may takes as arguments a Dictionary and a Component.</dd> +<dt><span class="returnLabel">Returns:</span></dt> +<dd>this builder</dd> +</dl> +</li> +</ul> +<a name="update-java.lang.Class-org.apache.felix.dm.lambda.callbacks.CbConfigurationComponent-"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>update</h4> +<pre><T,U> <a href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda">FactoryPidAdapterBuilder</a> update(java.lang.Class<U> configType, + <a href="../../../../../org/apache/felix/dm/lambda/callbacks/CbConfigurationComponent.html" title="interface in org.apache.felix.dm.lambda.callbacks">CbConfigurationComponent</a><T,U> callback)</pre> +<div class="block">Specifies a method reference that will be called on one of the component classes when the configuration is injected. + The callback is invoked with the following arguments: a configuration type, and a Component object.</div> +<dl> +<dt><span class="paramLabel">Type Parameters:</span></dt> +<dd><code>T</code> - the type of the component implementation class on which the callback is invoked on.</dd> +<dd><code>U</code> - the configuration type accepted by the callback method.</dd> +<dt><span class="paramLabel">Parameters:</span></dt> +<dd><code>configType</code> - the type of a configuration that is passed as argument to the callback</dd> +<dd><code>callback</code> - the reference to a method on one of the component classes. The method may takes as arguments a configuration type and a Component.</dd> +<dt><span class="returnLabel">Returns:</span></dt> +<dd>this builder</dd> +</dl> +</li> +</ul> +<a name="update-org.apache.felix.dm.lambda.callbacks.InstanceCbDictionary-"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>update</h4> +<pre><a href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda">FactoryPidAdapterBuilder</a> update(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/InstanceCbDictionary.html" title="interface in org.apache.felix.dm.lambda.callbacks">InstanceCbDictionary</a> callback)</pre> +<div class="block">Specifies a method reference that will be called on a given object instance when the configuration is injected</div> +<dl> +<dt><span class="paramLabel">Parameters:</span></dt> +<dd><code>callback</code> - the method to call on a given object instance when the configuration is available. The callback takes as argument a + a Dictionary parameter.</dd> +<dt><span class="returnLabel">Returns:</span></dt> +<dd>this builder</dd> +</dl> +</li> +</ul> +<a name="update-java.lang.Class-org.apache.felix.dm.lambda.callbacks.InstanceCbConfiguration-"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>update</h4> +<pre><T> <a href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda">FactoryPidAdapterBuilder</a> update(java.lang.Class<T> configType, + <a href="../../../../../org/apache/felix/dm/lambda/callbacks/InstanceCbConfiguration.html" title="interface in org.apache.felix.dm.lambda.callbacks">InstanceCbConfiguration</a><T> callback)</pre> +<div class="block">Specifies a method reference that will be called on a given object instance when the configuration is injected. + The callback is invoked with a type-safe configuration type argument.</div> +<dl> +<dt><span class="paramLabel">Type Parameters:</span></dt> +<dd><code>T</code> - the configuration type accepted by the callback method.</dd> +<dt><span class="paramLabel">Parameters:</span></dt> +<dd><code>configType</code> - the type of a configuration that is passed as argument to the callback</dd> +<dd><code>callback</code> - the method to call on a given object instance when the configuration is available. The callback takes as argument a + a configuration type parameter.</dd> +<dt><span class="returnLabel">Returns:</span></dt> +<dd>this builder</dd> +</dl> +</li> +</ul> +<a name="update-org.apache.felix.dm.lambda.callbacks.InstanceCbDictionaryComponent-"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>update</h4> +<pre><a href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda">FactoryPidAdapterBuilder</a> update(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/InstanceCbDictionaryComponent.html" title="interface in org.apache.felix.dm.lambda.callbacks">InstanceCbDictionaryComponent</a> callback)</pre> +<div class="block">Specifies a method reference that will be called on a given object instance when the configuration is injected.</div> +<dl> +<dt><span class="paramLabel">Parameters:</span></dt> +<dd><code>callback</code> - the method to call on a given object instance when the configuration is available. The callback takes as argument a + Dictionary, and a Component parameter.</dd> +<dt><span class="returnLabel">Returns:</span></dt> +<dd>this builder</dd> +</dl> +</li> +</ul> +<a name="update-java.lang.Class-org.apache.felix.dm.lambda.callbacks.InstanceCbConfigurationComponent-"> +<!-- --> +</a> +<ul class="blockListLast"> +<li class="blockList"> +<h4>update</h4> +<pre><T> <a href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda">FactoryPidAdapterBuilder</a> update(java.lang.Class<T> configType, + <a href="../../../../../org/apache/felix/dm/lambda/callbacks/InstanceCbConfigurationComponent.html" title="interface in org.apache.felix.dm.lambda.callbacks">InstanceCbConfigurationComponent</a><T> callback)</pre> +<div class="block">Specifies a method reference that will be called on a given object instance when the configuration is injected.</div> +<dl> +<dt><span class="paramLabel">Type Parameters:</span></dt> +<dd><code>T</code> - the configuration type accepted by the callback method.</dd> +<dt><span class="paramLabel">Parameters:</span></dt> +<dd><code>configType</code> - the type of a configuration that is passed as argument to the callback</dd> +<dd><code>callback</code> - the method to call on a given object instance when the configuration is available. The callback takes as arguments a + configuration type, and a Component parameter.</dd> +<dt><span class="returnLabel">Returns:</span></dt> +<dd>this builder</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/DependencyManagerActivator.html" title="class in org.apache.felix.dm.lambda"><span class="typeNameLink">Prev Class</span></a></li> +<li><a href="../../../../../org/apache/felix/dm/lambda/FluentProperty.html" title="interface in org.apache.felix.dm.lambda"><span class="typeNameLink">Next Class</span></a></li> +</ul> +<ul class="navList"> +<li><a href="../../../../../index.html?org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html" target="_top">Frames</a></li> +<li><a href="FactoryPidAdapterBuilder.html" target="_top">No Frames</a></li> +</ul> +<ul class="navList" id="allclasses_navbar_bottom"> +<li><a href="../../../../../allclasses-noframe.html">All 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: </li> +<li>Nested | </li> +<li>Field | </li> +<li>Constr | </li> +<li><a href="#method.summary">Method</a></li> +</ul> +<ul class="subNavList"> +<li>Detail: </li> +<li>Field | </li> +<li>Constr | </li> +<li><a href="#method.detail">Method</a></li> +</ul> +</div> +<a name="skip.navbar.bottom"> +<!-- --> +</a></div> +<!-- ======== END OF BOTTOM NAVBAR ======= --> +</body> +</html>
Added: felix/site/trunk/content/apidocs/dependencymanager.lambda/r9/org/apache/felix/dm/lambda/FluentProperty.html URL: http://svn.apache.org/viewvc/felix/site/trunk/content/apidocs/dependencymanager.lambda/r9/org/apache/felix/dm/lambda/FluentProperty.html?rev=1782916&view=auto ============================================================================== --- felix/site/trunk/content/apidocs/dependencymanager.lambda/r9/org/apache/felix/dm/lambda/FluentProperty.html (added) +++ felix/site/trunk/content/apidocs/dependencymanager.lambda/r9/org/apache/felix/dm/lambda/FluentProperty.html Tue Feb 14 07:10:16 2017 @@ -0,0 +1,272 @@ +<!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_102) on Tue Feb 14 08:07:55 CET 2017 --> +<title>FluentProperty</title> +<meta name="date" content="2017-02-14"> +<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="FluentProperty"; + } + } + catch(err) { + } +//--> +var methods = {"i0":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/FactoryPidAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda"><span class="typeNameLink">Prev Class</span></a></li> +<li><a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="interface in org.apache.felix.dm.lambda"><span class="typeNameLink">Next Class</span></a></li> +</ul> +<ul class="navList"> +<li><a href="../../../../../index.html?org/apache/felix/dm/lambda/FluentProperty.html" target="_top">Frames</a></li> +<li><a href="FluentProperty.html" target="_top">No Frames</a></li> +</ul> +<ul class="navList" id="allclasses_navbar_top"> +<li><a href="../../../../../allclasses-noframe.html">All 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: </li> +<li>Nested | </li> +<li>Field | </li> +<li>Constr | </li> +<li><a href="#method.summary">Method</a></li> +</ul> +<ul class="subNavList"> +<li>Detail: </li> +<li>Field | </li> +<li>Constr | </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 FluentProperty" class="title">Interface FluentProperty</h2> +</div> +<div class="contentContainer"> +<div class="description"> +<ul class="blockList"> +<li class="blockList"> +<dl> +<dt>All Superinterfaces:</dt> +<dd>java.io.Serializable, <a href="../../../../../org/apache/felix/dm/lambda/callbacks/SerializableLambda.html" title="interface in org.apache.felix.dm.lambda.callbacks">SerializableLambda</a></dd> +</dl> +<dl> +<dt>Functional Interface:</dt> +<dd>This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.</dd> +</dl> +<hr> +<br> +<pre>@FunctionalInterface +public interface <span class="typeNameLabel">FluentProperty</span> +extends <a href="../../../../../org/apache/felix/dm/lambda/callbacks/SerializableLambda.html" title="interface in org.apache.felix.dm.lambda.callbacks">SerializableLambda</a></pre> +<div class="block">Lambda allowing to define fluent service properties. Property names are deduces from the lambda parameter name. + + <p> Example of a component which provides fluent properties {"foo"="bar"; "foo2"=Integer(123)}: + + <pre><code> + public class Activator extends DependencyManagerActivator { + public void init(BundleContext ctx, DependencyManager dm) throws Exception { + component(comp -> comp.impl(MyComponentImpl.class).provides(MyService.class, foo->"bar", foo2 -> 123)); + } + } + </code></pre> + + When a property name contains dots ("."), then since it's not possible to declare a lambda parameter with some dots, you can + encode the dots using some underscores. A single underscore is then converted to a dot, unless is it followed by another + underscore in which case the two consecutive underscores ("__") are converted to a single underscore. + + For example, assume your component provides a service using the two service.ranking and foo_bar service properties. In this case + you would declare the service properties like this:<p> + + <pre><code> + public class Activator extends DependencyManagerActivator { + public void init(BundleContext ctx, DependencyManager dm) throws Exception { + component(comp -> comp.impl(MyComponentImpl.class).provides(MyService.class, service_ranking->10, foo__bar -> "gabuzo")); + } + } + </code></pre> + + <b>Caution: Fluent properties requires the usage of the "-parameter" javac option.</b> + + Under eclipse, you can enable this option using: + + <pre><code> + Windows -> Preference -> Compiler -> Classfile Generation -> Store information about method parameters. + </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"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd"> </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>java.lang.Object</code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/FluentProperty.html#apply-java.lang.String-">apply</a></span>(java.lang.String name)</code> +<div class="block">Represents a fluent property</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="apply-java.lang.String-"> +<!-- --> +</a> +<ul class="blockListLast"> +<li class="blockList"> +<h4>apply</h4> +<pre>java.lang.Object apply(java.lang.String name)</pre> +<div class="block">Represents a fluent property</div> +<dl> +<dt><span class="paramLabel">Parameters:</span></dt> +<dd><code>name</code> - the property name. The parameter used by the lambda will be intropsected and will be used as the actual property name.</dd> +<dt><span class="returnLabel">Returns:</span></dt> +<dd>the property value</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/FactoryPidAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda"><span class="typeNameLink">Prev Class</span></a></li> +<li><a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="interface in org.apache.felix.dm.lambda"><span class="typeNameLink">Next Class</span></a></li> +</ul> +<ul class="navList"> +<li><a href="../../../../../index.html?org/apache/felix/dm/lambda/FluentProperty.html" target="_top">Frames</a></li> +<li><a href="FluentProperty.html" target="_top">No Frames</a></li> +</ul> +<ul class="navList" id="allclasses_navbar_bottom"> +<li><a href="../../../../../allclasses-noframe.html">All 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: </li> +<li>Nested | </li> +<li>Field | </li> +<li>Constr | </li> +<li><a href="#method.summary">Method</a></li> +</ul> +<ul class="subNavList"> +<li>Detail: </li> +<li>Field | </li> +<li>Constr | </li> +<li><a href="#method.detail">Method</a></li> +</ul> +</div> +<a name="skip.navbar.bottom"> +<!-- --> +</a></div> +<!-- ======== END OF BOTTOM NAVBAR ======= --> +</body> +</html> Added: felix/site/trunk/content/apidocs/dependencymanager.lambda/r9/org/apache/felix/dm/lambda/FutureDependencyBuilder.html URL: http://svn.apache.org/viewvc/felix/site/trunk/content/apidocs/dependencymanager.lambda/r9/org/apache/felix/dm/lambda/FutureDependencyBuilder.html?rev=1782916&view=auto ============================================================================== --- felix/site/trunk/content/apidocs/dependencymanager.lambda/r9/org/apache/felix/dm/lambda/FutureDependencyBuilder.html (added) +++ felix/site/trunk/content/apidocs/dependencymanager.lambda/r9/org/apache/felix/dm/lambda/FutureDependencyBuilder.html Tue Feb 14 07:10:16 2017 @@ -0,0 +1,470 @@ +<!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_102) on Tue Feb 14 08:07:55 CET 2017 --> +<title>FutureDependencyBuilder</title> +<meta name="date" content="2017-02-14"> +<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 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 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 Frames</a></li> +</ul> +<ul class="navList" id="allclasses_navbar_top"> +<li><a href="../../../../../allclasses-noframe.html">All 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: </li> +<li>Nested | </li> +<li>Field | </li> +<li>Constr | </li> +<li><a href="#method.summary">Method</a></li> +</ul> +<ul class="subNavList"> +<li>Detail: </li> +<li>Field | </li> +<li>Constr | </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<F></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><Dependency></dd> +</dl> +<hr> +<br> +<pre>public interface <span class="typeNameLabel">FutureDependencyBuilder<F></span> +extends <a href="../../../../../org/apache/felix/dm/lambda/DependencyBuilder.html" title="interface in org.apache.felix.dm.lambda">DependencyBuilder</a><Dependency></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<String> page = CompletableFuture.supplyAsync(() -> 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 -> comp + .impl(MyComponent.class) + .withService(LogService.class) + .withFuture(page, result -> 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"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd"> </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><T> <a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="interface in org.apache.felix.dm.lambda">FutureDependencyBuilder</a><<a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="type parameter in FutureDependencyBuilder">F</a>></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><T,? super <a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="type parameter in FutureDependencyBuilder">F</a>> 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><T> <a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="interface in org.apache.felix.dm.lambda">FutureDependencyBuilder</a><<a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="type parameter in FutureDependencyBuilder">F</a>></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><T,? super <a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="type parameter in FutureDependencyBuilder">F</a>> callback, + boolean 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><T> <a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="interface in org.apache.felix.dm.lambda">FutureDependencyBuilder</a><<a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="type parameter in FutureDependencyBuilder">F</a>></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><T,? super <a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="type parameter in FutureDependencyBuilder">F</a>> callback, + java.util.concurrent.Executor 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><<a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="type parameter in FutureDependencyBuilder">F</a>></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><? super <a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="type parameter in FutureDependencyBuilder">F</a>> 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><<a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="type parameter in FutureDependencyBuilder">F</a>></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><? super <a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="type parameter in FutureDependencyBuilder">F</a>> callback, + boolean 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><<a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="type parameter in FutureDependencyBuilder">F</a>></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><? super <a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="type parameter in FutureDependencyBuilder">F</a>> callback, + java.util.concurrent.Executor 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><<a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="type parameter in FutureDependencyBuilder">F</a>></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 callbackInstance, + java.lang.String 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><<a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="type parameter in FutureDependencyBuilder">F</a>></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 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 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><<a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="type parameter in FutureDependencyBuilder">F</a>> complete(java.lang.String 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><<a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="type parameter in FutureDependencyBuilder">F</a>> complete(java.lang.Object callbackInstance, + java.lang.String 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><T> <a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="interface in org.apache.felix.dm.lambda">FutureDependencyBuilder</a><<a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="type parameter in FutureDependencyBuilder">F</a>> complete(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/CbFuture.html" title="interface in org.apache.felix.dm.lambda.callbacks">CbFuture</a><T,? super <a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="type parameter in FutureDependencyBuilder">F</a>> 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><T> <a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="interface in org.apache.felix.dm.lambda">FutureDependencyBuilder</a><<a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="type parameter in FutureDependencyBuilder">F</a>> complete(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/CbFuture.html" title="interface in org.apache.felix.dm.lambda.callbacks">CbFuture</a><T,? super <a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="type parameter in FutureDependencyBuilder">F</a>> callback, + boolean 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><T> <a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="interface in org.apache.felix.dm.lambda">FutureDependencyBuilder</a><<a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="type parameter in FutureDependencyBuilder">F</a>> complete(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/CbFuture.html" title="interface in org.apache.felix.dm.lambda.callbacks">CbFuture</a><T,? super <a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="type parameter in FutureDependencyBuilder">F</a>> callback, + java.util.concurrent.Executor 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><<a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="type parameter in FutureDependencyBuilder">F</a>> complete(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/InstanceCbFuture.html" title="interface in org.apache.felix.dm.lambda.callbacks">InstanceCbFuture</a><? super <a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="type parameter in FutureDependencyBuilder">F</a>> 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><<a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="type parameter in FutureDependencyBuilder">F</a>> complete(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/InstanceCbFuture.html" title="interface in org.apache.felix.dm.lambda.callbacks">InstanceCbFuture</a><? super <a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="type parameter in FutureDependencyBuilder">F</a>> callback, + boolean 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><<a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="type parameter in FutureDependencyBuilder">F</a>> complete(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/InstanceCbFuture.html" title="interface in org.apache.felix.dm.lambda.callbacks">InstanceCbFuture</a><? super <a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="type parameter in FutureDependencyBuilder">F</a>> callback, + java.util.concurrent.Executor 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 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 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 Frames</a></li> +</ul> +<ul class="navList" id="allclasses_navbar_bottom"> +<li><a href="../../../../../allclasses-noframe.html">All 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: </li> +<li>Nested | </li> +<li>Field | </li> +<li>Constr | </li> +<li><a href="#method.summary">Method</a></li> +</ul> +<ul class="subNavList"> +<li>Detail: </li> +<li>Field | </li> +<li>Constr | </li> +<li><a href="#method.detail">Method</a></li> +</ul> +</div> +<a name="skip.navbar.bottom"> +<!-- --> +</a></div> +<!-- ======== END OF BOTTOM NAVBAR ======= --> +</body> +</html>