felix-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From pde...@apache.org
Subject svn commit: r1731995 [10/38] - in /felix/site/trunk/content/apidocs: dependencymanager.annotations/r7/ dependencymanager.annotations/r7/org/ dependencymanager.annotations/r7/org/apache/ dependencymanager.annotations/r7/org/apache/felix/ dependencymanag...
Date Wed, 24 Feb 2016 00:11:43 GMT
Modified: felix/site/trunk/content/apidocs/dependencymanager.lambda/r7/org/apache/felix/dm/lambda/ComponentBuilder.html
URL: http://svn.apache.org/viewvc/felix/site/trunk/content/apidocs/dependencymanager.lambda/r7/org/apache/felix/dm/lambda/ComponentBuilder.html?rev=1731995&r1=1731994&r2=1731995&view=diff
==============================================================================
--- felix/site/trunk/content/apidocs/dependencymanager.lambda/r7/org/apache/felix/dm/lambda/ComponentBuilder.html (original)
+++ felix/site/trunk/content/apidocs/dependencymanager.lambda/r7/org/apache/felix/dm/lambda/ComponentBuilder.html Wed Feb 24 00:11:41 2016
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_72) on Thu Feb 04 08:50:09 CET 2016 -->
+<!-- Generated by javadoc (1.8.0_74) on Wed Feb 24 01:07:32 CET 2016 -->
 <title>ComponentBuilder</title>
-<meta name="date" content="2016-02-04">
+<meta name="date" content="2016-02-24">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -18,7 +18,7 @@
     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,"i15":6,"i16":6,"i17":6,"i18":6,"i19":6,"i20":6,"i21":6,"i22":6,"i23":6,"i24":6,"i25":6,"i26":6,"i27":6,"i28":6,"i29":6,"i30":6,"i31":6,"i32":6,"i33":6,"i34":6,"i35":6,"i36":6,"i37":6,"i38":6,"i39":6,"i40":6,"i41":6,"i42":6,"i43":6,"i44":6,"i45":6,"i46":6,"i47":6,"i48":6,"i49":6,"i50":6,"i51":6,"i52":6,"i53":6,"i54":6,"i55":6,"i56":6,"i57":6,"i58":18,"i59":6,"i60":18,"i61":6,"i62":6,"i63":6,"i64":6};
+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,"i15":6,"i16":6,"i17":6,"i18":6,"i19":6,"i20":6,"i21":6,"i22":6,"i23":6,"i24":6,"i25":6,"i26":6,"i27":6,"i28":6,"i29":6,"i30":6,"i31":6,"i32":6,"i33":6,"i34":6,"i35":6,"i36":6,"i37":6,"i38":6,"i39":6,"i40":6,"i41":6,"i42":6,"i43":6,"i44":6,"i45":6,"i46":6,"i47":6,"i48":6,"i49":6,"i50":6,"i51":6,"i52":6,"i53":6,"i54":6,"i55":6,"i56":18,"i57":6,"i58":6,"i59":6,"i60":6};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],16:["t5","Default Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -109,20 +109,19 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>public interface <span class="typeNameLabel">ComponentBuilder&lt;B extends ComponentBuilder&lt;B&gt;&gt;</span></pre>
-<div class="block">Builds a Dependency Manager Component. Components are the main building blocks for OSGi applications. 
+<div class="block">Builds a Dependency Manager Component. <p> Components are the main building blocks for OSGi applications. 
  They can publish themselves as a service, and they can have dependencies. 
  These dependencies will influence their life cycle as component will only be activated when all 
- required dependencies are available.
- 
- <p> This interface is also the base interface for extended components like aspects, adapters, etc ...
+ required dependencies are available. This interface is also the base interface for extended components like 
+ aspects, adapters, etc ...
 
  <p> Example of a component that depends on a ConfigurationAdmin service. The dependency is injected by reflection
  on a class field which type matches the ConfigurationAdmin interface:
  
  <pre><code>
  public class Activator extends DependencyManagerActivator {
-   public void activate() throws Exception {
-       component(comp -&gt; comp.impl(Configurator.class).withSrv(ConfigurationAdmin.class));
+   public void init(BundleContext ctx, DependencyManager dm) throws Exception {
+       component(comp -&gt; comp.impl(Configurator.class).withSvc(ConfigurationAdmin.class));
    }
  }
  </code> </pre></div>
@@ -198,63 +197,56 @@ var activeTableTab = "activeTableTab";
 </td>
 </tr>
 <tr id="i8" class="altColor">
-<td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#destroy-org.apache.felix.dm.lambda.callbacks.CbConsumer-">destroy</a></span>(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/CbConsumer.html" title="interface in org.apache.felix.dm.lambda.callbacks">CbConsumer</a>&lt;U&gt;&nbsp;callback)</code>
-<div class="block">Sets a method reference used as the "destroy" callback.</div>
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#destroy-org.apache.felix.dm.lambda.callbacks.Cb-">destroy</a></span>(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/Cb.html" title="interface in org.apache.felix.dm.lambda.callbacks">Cb</a>&lt;T&gt;&nbsp;callback)</code>
+<div class="block">Sets a reference to a component implementation class "destroy" callback method.</div>
 </td>
 </tr>
 <tr id="i9" class="rowColor">
-<td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#destroy-org.apache.felix.dm.lambda.callbacks.CbTypeComponent-">destroy</a></span>(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/CbTypeComponent.html" title="interface in org.apache.felix.dm.lambda.callbacks">CbTypeComponent</a>&lt;U&gt;&nbsp;callback)</code>
-<div class="block">Sets a method reference used as the "destroy" callback.</div>
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#destroy-org.apache.felix.dm.lambda.callbacks.CbComponent-">destroy</a></span>(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/CbComponent.html" title="interface in org.apache.felix.dm.lambda.callbacks">CbComponent</a>&lt;T&gt;&nbsp;callback)</code>
+<div class="block">Sets a reference to a component implementation class "destroy" callback method.</div>
 </td>
 </tr>
 <tr id="i10" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#destroy-java.lang.Object-java.lang.String-">destroy</a></span>(java.lang.Object&nbsp;callbackInstance,
-       java.lang.String&nbsp;callback)</code>
-<div class="block">Sets the name of the methods used as destroy callback that is invoked on a given Object instance.</div>
-</td>
-</tr>
-<tr id="i11" class="rowColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#destroy-java.lang.String-">destroy</a></span>(java.lang.String&nbsp;callback)</code>
 <div class="block">Sets the name of the method used as the "destroy" callback.</div>
 </td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#destroyInstance-org.apache.felix.dm.lambda.callbacks.CbComponent-">destroyInstance</a></span>(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/CbComponent.html" title="interface in org.apache.felix.dm.lambda.callbacks">CbComponent</a>&nbsp;callback)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#destroyInstance-org.apache.felix.dm.lambda.callbacks.InstanceCb-">destroyInstance</a></span>(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/InstanceCb.html" title="interface in org.apache.felix.dm.lambda.callbacks">InstanceCb</a>&nbsp;callback)</code>
 <div class="block">Sets an Object instance method reference used as the "destroy" callback.</div>
 </td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#destroyInstance-java.lang.Runnable-">destroyInstance</a></span>(java.lang.Runnable&nbsp;callback)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#destroyInstance-org.apache.felix.dm.lambda.callbacks.InstanceCbComponent-">destroyInstance</a></span>(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/InstanceCbComponent.html" title="interface in org.apache.felix.dm.lambda.callbacks">InstanceCbComponent</a>&nbsp;callback)</code>
 <div class="block">Sets an Object instance method reference used as the "destroy" callback.</div>
 </td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#factory-java.lang.Object-java.lang.String-">factory</a></span>(java.lang.Object&nbsp;factory,
        java.lang.String&nbsp;createMethod)</code>
-<div class="block">Sets the factory to use to create the implementation.</div>
+<div class="block">Sets the factory to use when creating the implementation.</div>
 </td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#factory-java.util.function.Supplier-">factory</a></span>(java.util.function.Supplier&lt;?&gt;&nbsp;create)</code>
 <div class="block">Configures a factory that can be used to create this component implementation.</div>
 </td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#factory-java.util.function.Supplier-java.util.function.Supplier-">factory</a></span>(java.util.function.Supplier&lt;?&gt;&nbsp;factory,
        java.util.function.Supplier&lt;java.lang.Object[]&gt;&nbsp;getComposition)</code>
-<div class="block">Configures a factory used to create this component implementation using a Factory object and a "getComponent" factory method.</div>
+<div class="block">Configures a factory used to create this component implementation using a Factory object and a "getComposition" factory method.</div>
 </td>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#factory-java.util.function.Supplier-java.util.function.Function-java.util.function.Function-">factory</a></span>(java.util.function.Supplier&lt;U&gt;&nbsp;factory,
        java.util.function.Function&lt;U,?&gt;&nbsp;create,
@@ -262,69 +254,68 @@ var activeTableTab = "activeTableTab";
 <div class="block">Configures a factory that also returns a composition of objects for this component implemenation.</div>
 </td>
 </tr>
-<tr id="i18" class="altColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code>&lt;U,V&gt;&nbsp;<a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#factory-java.util.function.Supplier-java.util.function.Function-">factory</a></span>(java.util.function.Supplier&lt;U&gt;&nbsp;factory,
        java.util.function.Function&lt;U,V&gt;&nbsp;create)</code>
 <div class="block">Configures a factory used to create this component implementation using a Factory object and a method in the Factory object.</div>
 </td>
 </tr>
-<tr id="i19" class="rowColor">
+<tr id="i18" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#impl-java.lang.Object-">impl</a></span>(java.lang.Object&nbsp;impl)</code>
 <div class="block">Configures the component implementation.</div>
 </td>
 </tr>
+<tr id="i19" class="rowColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#init-org.apache.felix.dm.lambda.callbacks.Cb-">init</a></span>(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/Cb.html" title="interface in org.apache.felix.dm.lambda.callbacks">Cb</a>&lt;T&gt;&nbsp;callback)</code>
+<div class="block">Sets a reference to a component implementation class "init" callback method.</div>
+</td>
+</tr>
 <tr id="i20" class="altColor">
-<td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#init-org.apache.felix.dm.lambda.callbacks.CbConsumer-">init</a></span>(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/CbConsumer.html" title="interface in org.apache.felix.dm.lambda.callbacks">CbConsumer</a>&lt;U&gt;&nbsp;callback)</code>
-<div class="block">Sets a method reference used as the "init" callback.</div>
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#init-org.apache.felix.dm.lambda.callbacks.CbComponent-">init</a></span>(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/CbComponent.html" title="interface in org.apache.felix.dm.lambda.callbacks">CbComponent</a>&lt;T&gt;&nbsp;callback)</code>
+<div class="block">Sets a reference to a component implementation class "init" callback method.</div>
 </td>
 </tr>
 <tr id="i21" class="rowColor">
-<td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#init-org.apache.felix.dm.lambda.callbacks.CbTypeComponent-">init</a></span>(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/CbTypeComponent.html" title="interface in org.apache.felix.dm.lambda.callbacks">CbTypeComponent</a>&lt;U&gt;&nbsp;callback)</code>
-<div class="block">Sets a method reference used as the "init" callback.</div>
+<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#init-java.lang.String-">init</a></span>(java.lang.String&nbsp;callback)</code>
+<div class="block">Sets the name of the method used as the "init" callback.</div>
 </td>
 </tr>
 <tr id="i22" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#init-java.lang.Object-java.lang.String-">init</a></span>(java.lang.Object&nbsp;callbackInstance,
-    java.lang.String&nbsp;callback)</code>
-<div class="block">Sets the name of the methods used as init callback that is invoked on a given Object instance.</div>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#initInstance-org.apache.felix.dm.lambda.callbacks.InstanceCb-">initInstance</a></span>(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/InstanceCb.html" title="interface in org.apache.felix.dm.lambda.callbacks">InstanceCb</a>&nbsp;callback)</code>
+<div class="block">Sets an Object instance method reference used as the "init" callback.</div>
 </td>
 </tr>
 <tr id="i23" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#init-java.lang.String-">init</a></span>(java.lang.String&nbsp;callback)</code>
-<div class="block">Sets the name of the method used as the "init" callback.</div>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#initInstance-org.apache.felix.dm.lambda.callbacks.InstanceCbComponent-">initInstance</a></span>(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/InstanceCbComponent.html" title="interface in org.apache.felix.dm.lambda.callbacks">InstanceCbComponent</a>&nbsp;callback)</code>
+<div class="block">Sets an Object instance method reference used as the "init" callback.</div>
 </td>
 </tr>
 <tr id="i24" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#initInstance-org.apache.felix.dm.lambda.callbacks.CbComponent-">initInstance</a></span>(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/CbComponent.html" title="interface in org.apache.felix.dm.lambda.callbacks">CbComponent</a>&nbsp;callback)</code>
-<div class="block">Sets an Object instance method reference used as the "init" callback.</div>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#lifecycleCallbackInstance-java.lang.Object-">lifecycleCallbackInstance</a></span>(java.lang.Object&nbsp;lifecycleCallbackInstance)</code>
+<div class="block">Sets the instance to invoke with the reflection based lifecycle callbacks.</div>
 </td>
 </tr>
 <tr id="i25" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#initInstance-java.lang.Runnable-">initInstance</a></span>(java.lang.Runnable&nbsp;callback)</code>
-<div class="block">Sets an Object instance method reference used as the "init" callback.</div>
-</td>
-</tr>
-<tr id="i26" class="altColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#properties-java.util.Dictionary-">properties</a></span>(java.util.Dictionary&lt;?,?&gt;&nbsp;properties)</code>
 <div class="block">Sets the component's service properties</div>
 </td>
 </tr>
-<tr id="i27" class="rowColor">
+<tr id="i26" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#properties-org.apache.felix.dm.lambda.FluentProperty...-">properties</a></span>(<a href="../../../../../org/apache/felix/dm/lambda/FluentProperty.html" title="interface in org.apache.felix.dm.lambda">FluentProperty</a>...&nbsp;properties)</code>
 <div class="block">Sets the components's service properties using List of lamda properties.</div>
 </td>
 </tr>
-<tr id="i28" class="altColor">
+<tr id="i27" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#properties-java.lang.String-java.lang.Object-java.lang.Object...-">properties</a></span>(java.lang.String&nbsp;name,
           java.lang.Object&nbsp;value,
@@ -332,33 +323,33 @@ var activeTableTab = "activeTableTab";
 <div class="block">Sets the components's service properties using varargs.</div>
 </td>
 </tr>
-<tr id="i29" class="rowColor">
+<tr id="i28" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#provides-java.lang.Class-">provides</a></span>(java.lang.Class&lt;?&gt;&nbsp;iface)</code>
-<div class="block">Sets the public interfaces under which this component should be registered in the OSGi service registry.</div>
+<div class="block">Sets the public interface under which this component should be registered in the OSGi service registry.</div>
 </td>
 </tr>
-<tr id="i30" class="altColor">
+<tr id="i29" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#provides-java.lang.Class:A-">provides</a></span>(java.lang.Class&lt;?&gt;[]&nbsp;ifaces)</code>
 <div class="block">Sets the public interfaces under which this component should be registered in the OSGi service registry.</div>
 </td>
 </tr>
-<tr id="i31" class="rowColor">
+<tr id="i30" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#provides-java.lang.Class:A-java.util.Dictionary-">provides</a></span>(java.lang.Class&lt;?&gt;[]&nbsp;ifaces,
         java.util.Dictionary&lt;?,?&gt;&nbsp;properties)</code>
 <div class="block">Sets the public interfaces under which this component should be registered in the OSGi service registry.</div>
 </td>
 </tr>
-<tr id="i32" class="altColor">
+<tr id="i31" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#provides-java.lang.Class:A-org.apache.felix.dm.lambda.FluentProperty...-">provides</a></span>(java.lang.Class&lt;?&gt;[]&nbsp;ifaces,
         <a href="../../../../../org/apache/felix/dm/lambda/FluentProperty.html" title="interface in org.apache.felix.dm.lambda">FluentProperty</a>...&nbsp;properties)</code>
 <div class="block">Sets the public interfaces under which this component should be registered in the OSGi service registry.</div>
 </td>
 </tr>
-<tr id="i33" class="rowColor">
+<tr id="i32" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#provides-java.lang.Class:A-java.lang.String-java.lang.Object-java.lang.Object...-">provides</a></span>(java.lang.Class&lt;?&gt;[]&nbsp;ifaces,
         java.lang.String&nbsp;name,
@@ -367,21 +358,21 @@ var activeTableTab = "activeTableTab";
 <div class="block">Sets the public interfaces under which this component should be registered in the OSGi service registry.</div>
 </td>
 </tr>
-<tr id="i34" class="altColor">
+<tr id="i33" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#provides-java.lang.Class-java.util.Dictionary-">provides</a></span>(java.lang.Class&lt;?&gt;&nbsp;iface,
         java.util.Dictionary&lt;?,?&gt;&nbsp;properties)</code>
 <div class="block">Sets the public interface under which this component should be registered in the OSGi service registry.</div>
 </td>
 </tr>
-<tr id="i35" class="rowColor">
+<tr id="i34" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#provides-java.lang.Class-org.apache.felix.dm.lambda.FluentProperty...-">provides</a></span>(java.lang.Class&lt;?&gt;&nbsp;iface,
         <a href="../../../../../org/apache/felix/dm/lambda/FluentProperty.html" title="interface in org.apache.felix.dm.lambda">FluentProperty</a>...&nbsp;properties)</code>
 <div class="block">Sets the public interface under which this component should be registered in the OSGi service registry.</div>
 </td>
 </tr>
-<tr id="i36" class="altColor">
+<tr id="i35" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#provides-java.lang.Class-java.lang.String-java.lang.Object-java.lang.Object...-">provides</a></span>(java.lang.Class&lt;?&gt;&nbsp;iface,
         java.lang.String&nbsp;name,
@@ -390,33 +381,33 @@ var activeTableTab = "activeTableTab";
 <div class="block">Sets the public interface under which this component should be registered in the OSGi service registry.</div>
 </td>
 </tr>
-<tr id="i37" class="rowColor">
+<tr id="i36" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#provides-java.lang.String-">provides</a></span>(java.lang.String&nbsp;iface)</code>
 <div class="block">Sets the public interface under which this component should be registered in the OSGi service registry.</div>
 </td>
 </tr>
-<tr id="i38" class="altColor">
+<tr id="i37" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#provides-java.lang.String:A-">provides</a></span>(java.lang.String[]&nbsp;ifaces)</code>
 <div class="block">Sets the public interfaces under which this component should be registered in the OSGi service registry.</div>
 </td>
 </tr>
-<tr id="i39" class="rowColor">
+<tr id="i38" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#provides-java.lang.String:A-java.util.Dictionary-">provides</a></span>(java.lang.String[]&nbsp;ifaces,
         java.util.Dictionary&lt;?,?&gt;&nbsp;properties)</code>
 <div class="block">Sets the public interfaces under which this component should be registered in the OSGi service registry.</div>
 </td>
 </tr>
-<tr id="i40" class="altColor">
+<tr id="i39" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#provides-java.lang.String:A-org.apache.felix.dm.lambda.FluentProperty...-">provides</a></span>(java.lang.String[]&nbsp;ifaces,
         <a href="../../../../../org/apache/felix/dm/lambda/FluentProperty.html" title="interface in org.apache.felix.dm.lambda">FluentProperty</a>...&nbsp;properties)</code>
 <div class="block">Sets the public interfaces under which this component should be registered in the OSGi service registry.</div>
 </td>
 </tr>
-<tr id="i41" class="rowColor">
+<tr id="i40" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><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></span>(java.lang.String[]&nbsp;ifaces,
         java.lang.String&nbsp;name,
@@ -425,21 +416,21 @@ var activeTableTab = "activeTableTab";
 <div class="block">Sets the public interfaces under which this component should be registered in the OSGi service registry.</div>
 </td>
 </tr>
-<tr id="i42" class="altColor">
+<tr id="i41" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#provides-java.lang.String-java.util.Dictionary-">provides</a></span>(java.lang.String&nbsp;iface,
         java.util.Dictionary&lt;?,?&gt;&nbsp;properties)</code>
 <div class="block">Sets the public interface under which this component should be registered in the OSGi service registry.</div>
 </td>
 </tr>
-<tr id="i43" class="rowColor">
+<tr id="i42" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#provides-java.lang.String-org.apache.felix.dm.lambda.FluentProperty...-">provides</a></span>(java.lang.String&nbsp;iface,
         <a href="../../../../../org/apache/felix/dm/lambda/FluentProperty.html" title="interface in org.apache.felix.dm.lambda">FluentProperty</a>...&nbsp;properties)</code>
 <div class="block">Sets the public interface under which this component should be registered in the OSGi service registry.</div>
 </td>
 </tr>
-<tr id="i44" class="altColor">
+<tr id="i43" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#provides-java.lang.String-java.lang.String-java.lang.Object-java.lang.Object...-">provides</a></span>(java.lang.String&nbsp;iface,
         java.lang.String&nbsp;name,
@@ -448,127 +439,107 @@ var activeTableTab = "activeTableTab";
 <div class="block">Sets the public interface under which this component should be registered in the OSGi service registry.</div>
 </td>
 </tr>
-<tr id="i45" class="rowColor">
-<td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#start-org.apache.felix.dm.lambda.callbacks.CbConsumer-">start</a></span>(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/CbConsumer.html" title="interface in org.apache.felix.dm.lambda.callbacks">CbConsumer</a>&lt;U&gt;&nbsp;callback)</code>
-<div class="block">Sets a method reference used as the "start" callback.</div>
-</td>
-</tr>
-<tr id="i46" class="altColor">
-<td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#start-org.apache.felix.dm.lambda.callbacks.CbTypeComponent-">start</a></span>(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/CbTypeComponent.html" title="interface in org.apache.felix.dm.lambda.callbacks">CbTypeComponent</a>&lt;U&gt;&nbsp;callback)</code>
-<div class="block">Sets a method reference used as the "start" callback.</div>
+<tr id="i44" class="altColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#start-org.apache.felix.dm.lambda.callbacks.Cb-">start</a></span>(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/Cb.html" title="interface in org.apache.felix.dm.lambda.callbacks">Cb</a>&lt;T&gt;&nbsp;callback)</code>
+<div class="block">Sets a reference to a component implementation class "start" callback method.</div>
 </td>
 </tr>
-<tr id="i47" class="rowColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#start-java.lang.Object-java.lang.String-">start</a></span>(java.lang.Object&nbsp;callbackInstance,
-     java.lang.String&nbsp;callback)</code>
-<div class="block">Sets the name of the methods used as start callback that is invoked on a given Object instance.</div>
+<tr id="i45" class="rowColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#start-org.apache.felix.dm.lambda.callbacks.CbComponent-">start</a></span>(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/CbComponent.html" title="interface in org.apache.felix.dm.lambda.callbacks">CbComponent</a>&lt;T&gt;&nbsp;callback)</code>
+<div class="block">Sets a reference to a component implementation class "start" callback method.</div>
 </td>
 </tr>
-<tr id="i48" class="altColor">
+<tr id="i46" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#start-java.lang.String-">start</a></span>(java.lang.String&nbsp;callback)</code>
 <div class="block">Sets the name of the method used as the "start" callback.</div>
 </td>
 </tr>
-<tr id="i49" class="rowColor">
+<tr id="i47" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#startInstance-org.apache.felix.dm.lambda.callbacks.CbComponent-">startInstance</a></span>(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/CbComponent.html" title="interface in org.apache.felix.dm.lambda.callbacks">CbComponent</a>&nbsp;callback)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#startInstance-org.apache.felix.dm.lambda.callbacks.InstanceCb-">startInstance</a></span>(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/InstanceCb.html" title="interface in org.apache.felix.dm.lambda.callbacks">InstanceCb</a>&nbsp;callback)</code>
 <div class="block">Sets an Object instance method reference used as the "start" callback.</div>
 </td>
 </tr>
-<tr id="i50" class="altColor">
+<tr id="i48" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#startInstance-java.lang.Runnable-">startInstance</a></span>(java.lang.Runnable&nbsp;callback)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#startInstance-org.apache.felix.dm.lambda.callbacks.InstanceCbComponent-">startInstance</a></span>(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/InstanceCbComponent.html" title="interface in org.apache.felix.dm.lambda.callbacks">InstanceCbComponent</a>&nbsp;callback)</code>
 <div class="block">Sets an Object instance method reference used as the "start" callback.</div>
 </td>
 </tr>
-<tr id="i51" class="rowColor">
-<td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#stop-org.apache.felix.dm.lambda.callbacks.CbConsumer-">stop</a></span>(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/CbConsumer.html" title="interface in org.apache.felix.dm.lambda.callbacks">CbConsumer</a>&lt;U&gt;&nbsp;callback)</code>
-<div class="block">Sets a method reference used as the "stop" callback.</div>
-</td>
-</tr>
-<tr id="i52" class="altColor">
-<td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#stop-org.apache.felix.dm.lambda.callbacks.CbTypeComponent-">stop</a></span>(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/CbTypeComponent.html" title="interface in org.apache.felix.dm.lambda.callbacks">CbTypeComponent</a>&lt;U&gt;&nbsp;callback)</code>
-<div class="block">Sets a method reference used as the "stop" callback.</div>
+<tr id="i49" class="rowColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#stop-org.apache.felix.dm.lambda.callbacks.Cb-">stop</a></span>(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/Cb.html" title="interface in org.apache.felix.dm.lambda.callbacks">Cb</a>&lt;T&gt;&nbsp;callback)</code>
+<div class="block">Sets a reference to a component implementation class "stop" callback method.</div>
 </td>
 </tr>
-<tr id="i53" class="rowColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#stop-java.lang.Object-java.lang.String-">stop</a></span>(java.lang.Object&nbsp;callbackInstance,
-    java.lang.String&nbsp;callback)</code>
-<div class="block">Sets the name of the methods used as stop callback that is invoked on a given Object instance.</div>
+<tr id="i50" class="altColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#stop-org.apache.felix.dm.lambda.callbacks.CbComponent-">stop</a></span>(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/CbComponent.html" title="interface in org.apache.felix.dm.lambda.callbacks">CbComponent</a>&lt;T&gt;&nbsp;callback)</code>
+<div class="block">Sets a reference to a component implementation class "stop" callback method.</div>
 </td>
 </tr>
-<tr id="i54" class="altColor">
+<tr id="i51" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#stop-java.lang.String-">stop</a></span>(java.lang.String&nbsp;callback)</code>
 <div class="block">Sets the name of the method used as the "stop" callback.</div>
 </td>
 </tr>
-<tr id="i55" class="rowColor">
+<tr id="i52" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#stopInstance-org.apache.felix.dm.lambda.callbacks.CbComponent-">stopInstance</a></span>(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/CbComponent.html" title="interface in org.apache.felix.dm.lambda.callbacks">CbComponent</a>&nbsp;callback)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#stopInstance-org.apache.felix.dm.lambda.callbacks.InstanceCb-">stopInstance</a></span>(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/InstanceCb.html" title="interface in org.apache.felix.dm.lambda.callbacks">InstanceCb</a>&nbsp;callback)</code>
 <div class="block">Sets an Object instance method reference used as the "stop" callback.</div>
 </td>
 </tr>
-<tr id="i56" class="altColor">
+<tr id="i53" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#stopInstance-java.lang.Runnable-">stopInstance</a></span>(java.lang.Runnable&nbsp;callback)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#stopInstance-org.apache.felix.dm.lambda.callbacks.InstanceCbComponent-">stopInstance</a></span>(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/InstanceCbComponent.html" title="interface in org.apache.felix.dm.lambda.callbacks">InstanceCbComponent</a>&nbsp;callback)</code>
 <div class="block">Sets an Object instance method reference used as the "stop" callback.</div>
 </td>
 </tr>
-<tr id="i57" class="rowColor">
+<tr id="i54" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#withBundle-java.util.function.Consumer-">withBundle</a></span>(java.util.function.Consumer&lt;<a href="../../../../../org/apache/felix/dm/lambda/BundleDependencyBuilder.html" title="interface in org.apache.felix.dm.lambda">BundleDependencyBuilder</a>&gt;&nbsp;consumer)</code>
 <div class="block">Adds a bundle dependency.</div>
 </td>
 </tr>
-<tr id="i58" class="altColor">
-<td class="colFirst"><code>default <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#withCnf-java.lang.Class...-">withCnf</a></span>(java.lang.Class&lt;?&gt;...&nbsp;pids)</code>
-<div class="block">Adds multiple configuration dependencies in one single call.</div>
-</td>
-</tr>
-<tr id="i59" class="rowColor">
+<tr id="i55" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#withCnf-java.util.function.Consumer-">withCnf</a></span>(java.util.function.Consumer&lt;<a href="../../../../../org/apache/felix/dm/lambda/ConfigurationDependencyBuilder.html" title="interface in org.apache.felix.dm.lambda">ConfigurationDependencyBuilder</a>&gt;&nbsp;consumer)</code>
 <div class="block">Adds a configuration dependency.</div>
 </td>
 </tr>
-<tr id="i60" class="altColor">
+<tr id="i56" class="altColor">
 <td class="colFirst"><code>default <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#withCnf-java.lang.String...-">withCnf</a></span>(java.lang.String...&nbsp;pids)</code>
 <div class="block">Adds multiple configuration dependencies in one single call.</div>
 </td>
 </tr>
-<tr id="i61" class="rowColor">
+<tr id="i57" class="rowColor">
 <td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#withFuture-java.util.concurrent.CompletableFuture-java.util.function.Consumer-">withFuture</a></span>(java.util.concurrent.CompletableFuture&lt;U&gt;&nbsp;future,
           java.util.function.Consumer&lt;<a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="interface in org.apache.felix.dm.lambda">FutureDependencyBuilder</a>&lt;U&gt;&gt;&nbsp;consumer)</code>
 <div class="block">Adds a CompletableFuture dependency.</div>
 </td>
 </tr>
-<tr id="i62" class="altColor">
+<tr id="i58" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#withSrv-java.lang.Class...-">withSrv</a></span>(java.lang.Class&lt;?&gt;...&nbsp;services)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#withSvc-java.lang.Class...-">withSvc</a></span>(java.lang.Class&lt;?&gt;...&nbsp;services)</code>
 <div class="block">Adds in one shot multiple required/autoconfig service dependencies.</div>
 </td>
 </tr>
-<tr id="i63" class="rowColor">
+<tr id="i59" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#withSrv-java.lang.Class-java.lang.String-">withSrv</a></span>(java.lang.Class&lt;?&gt;&nbsp;service,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#withSvc-java.lang.Class-java.lang.String-">withSvc</a></span>(java.lang.Class&lt;?&gt;&nbsp;service,
        java.lang.String&nbsp;filter)</code>
 <div class="block">Adds a required/autoconfig service dependency.</div>
 </td>
 </tr>
-<tr id="i64" class="altColor">
+<tr id="i60" class="altColor">
 <td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#withSrv-java.lang.Class-java.util.function.Consumer-">withSrv</a></span>(java.lang.Class&lt;U&gt;&nbsp;service,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#withSvc-java.lang.Class-java.util.function.Consumer-">withSvc</a></span>(java.lang.Class&lt;U&gt;&nbsp;service,
        java.util.function.Consumer&lt;<a href="../../../../../org/apache/felix/dm/lambda/ServiceDependencyBuilder.html" title="interface in org.apache.felix.dm.lambda">ServiceDependencyBuilder</a>&lt;U&gt;&gt;&nbsp;consumer)</code>
 <div class="block">Adds a service dependency built using a Consumer lambda that is provided with a ServiceDependencyBuilder.</div>
 </td>
@@ -612,13 +583,13 @@ var activeTableTab = "activeTableTab";
 <h4>factory</h4>
 <pre><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a>&nbsp;factory(java.lang.Object&nbsp;factory,
           java.lang.String&nbsp;createMethod)</pre>
-<div class="block">Sets the factory to use to create the implementation. You can specify both the factory class and method to invoke. The method should return the implementation, 
+<div class="block">Sets the factory to use when creating the implementation. You can specify both the factory class and method to invoke. The method should return the implementation, 
  and can use any method to create it. Actually, this can be used together with setComposition to create a composition of instances that work together to implement 
  a component. The factory itself can also be instantiated lazily by not specifying an instance, but a Class.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>factory</code> - the factory instance, or the factory class.</dd>
-<dd><code>createMethod</code> - the create method called on the factory in order to instantiate the component instance.</dd>
+<dd><code>createMethod</code> - the create method called on the factory in order to instantiate the component.</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>this builder</dd>
 </dl>
@@ -679,8 +650,9 @@ var activeTableTab = "activeTableTab";
 <h4>factory</h4>
 <pre><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a>&nbsp;factory(java.util.function.Supplier&lt;?&gt;&nbsp;factory,
           java.util.function.Supplier&lt;java.lang.Object[]&gt;&nbsp;getComposition)</pre>
-<div class="block">Configures a factory used to create this component implementation using a Factory object and a "getComponent" factory method.
- the Factory method may then return multiple objects that will be part of this component implementation.
+<div class="block">Configures a factory used to create this component implementation using a Factory object and a "getComposition" factory method.
+ the Factory method may then return multiple objects that will be part of this component implementation, and 
+ all of them will be searched when injecting any of the dependencies.
  
  Example:
  
@@ -715,8 +687,9 @@ var activeTableTab = "activeTableTab";
  factory(CompositionManager::new, CompositionManager::create, CompositionManager::getComposition).
  </code></pre>
  
- Here, the CompositionManager will act as a factory (the create method will return the component implementation object), and the
- CompositionManager.getComposition() method will return all the objects that are also part of the component implementation.</div>
+ Here, the CompositionManager will act as a factory (the create method will return the component implementation object), the
+ CompositionManager.getComposition() method will return all the objects that are also part of the component implementation, 
+ and all of them will be searched for injecting any of the dependencies.</div>
 <dl>
 <dt><span class="paramLabel">Type Parameters:</span></dt>
 <dd><code>U</code> - the type of the object returned by the supplier factory</dd>
@@ -736,10 +709,10 @@ var activeTableTab = "activeTableTab";
 <li class="blockList">
 <h4>provides</h4>
 <pre><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a>&nbsp;provides(java.lang.Class&lt;?&gt;&nbsp;iface)</pre>
-<div class="block">Sets the public interfaces under which this component should be registered in the OSGi service registry.</div>
+<div class="block">Sets the public interface under which this component should be registered in the OSGi service registry.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>iface</code> - the public interfaces to register in the OSGI service registry.</dd>
+<dd><code>iface</code> - the public interface to register in the OSGI service registry.</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>this builder</dd>
 </dl>
@@ -758,7 +731,7 @@ var activeTableTab = "activeTableTab";
 <div class="block">Sets the public interface under which this component should be registered in the OSGi service registry.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>iface</code> - the public interfaces to register in the OSGI service registry.</dd>
+<dd><code>iface</code> - the public interface to register in the OSGI service registry.</dd>
 <dd><code>name</code> - a property name for the provided service</dd>
 <dd><code>value</code> - a property value for the provided service</dd>
 <dd><code>rest</code> - the rest of property name/value pairs.</dd>
@@ -785,7 +758,7 @@ var activeTableTab = "activeTableTab";
  </code></pre></div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>iface</code> - the public interfaces to register in the OSGI service registry.</dd>
+<dd><code>iface</code> - the public interface to register in the OSGI service registry.</dd>
 <dd><code>properties</code> - a list of fluent service properties for the provided service. You can specify a list of lambda expression, each one implementing the
  <a href="../../../../../org/apache/felix/dm/lambda/FluentProperty.html" title="interface in org.apache.felix.dm.lambda"><code>FluentProperty</code></a> interface that allows to define a property name using a lambda parameter.</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -804,7 +777,7 @@ var activeTableTab = "activeTableTab";
 <div class="block">Sets the public interface under which this component should be registered in the OSGi service registry.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>iface</code> - the public interfaces to register in the OSGI service registry.</dd>
+<dd><code>iface</code> - the public interface to register in the OSGI service registry.</dd>
 <dd><code>properties</code> - the properties for the provided service</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>this builder.</dd>
@@ -921,7 +894,7 @@ var activeTableTab = "activeTableTab";
 <div class="block">Sets the public interface under which this component should be registered in the OSGi service registry.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>iface</code> - the public interfaces to register in the OSGI service registry.</dd>
+<dd><code>iface</code> - the public interface to register in the OSGI service registry.</dd>
 <dd><code>name</code> - a property name for the provided service</dd>
 <dd><code>value</code> - a property value for the provided service</dd>
 <dd><code>rest</code> - the rest of property name/value pairs.</dd>
@@ -947,7 +920,7 @@ var activeTableTab = "activeTableTab";
  </code></pre></div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>iface</code> - the public interfaces to register in the OSGI service registry.</dd>
+<dd><code>iface</code> - the public interface to register in the OSGI service registry.</dd>
 <dd><code>properties</code> - a list of fluent service properties for the provided service. You can specify a list of lambda expression, each one implementing the
  <a href="../../../../../org/apache/felix/dm/lambda/FluentProperty.html" title="interface in org.apache.felix.dm.lambda"><code>FluentProperty</code></a> interface that allows to define a property name using a lambda parameter.</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -966,7 +939,7 @@ var activeTableTab = "activeTableTab";
 <div class="block">Sets the public interface under which this component should be registered in the OSGi service registry.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>iface</code> - the public interfaces to register in the OSGI service registry.</dd>
+<dd><code>iface</code> - the public interface to register in the OSGI service registry.</dd>
 <dd><code>properties</code> - the properties for the provided service</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>this builder.</dd>
@@ -1119,13 +1092,13 @@ var activeTableTab = "activeTableTab";
 </dl>
 </li>
 </ul>
-<a name="withSrv-java.lang.Class-java.lang.String-">
+<a name="withSvc-java.lang.Class-java.lang.String-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>withSrv</h4>
-<pre><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a>&nbsp;withSrv(java.lang.Class&lt;?&gt;&nbsp;service,
+<h4>withSvc</h4>
+<pre><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a>&nbsp;withSvc(java.lang.Class&lt;?&gt;&nbsp;service,
           java.lang.String&nbsp;filter)</pre>
 <div class="block">Adds a required/autoconfig service dependency.</div>
 <dl>
@@ -1137,13 +1110,13 @@ var activeTableTab = "activeTableTab";
 </dl>
 </li>
 </ul>
-<a name="withSrv-java.lang.Class...-">
+<a name="withSvc-java.lang.Class...-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>withSrv</h4>
-<pre><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a>&nbsp;withSrv(java.lang.Class&lt;?&gt;...&nbsp;services)</pre>
+<h4>withSvc</h4>
+<pre><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a>&nbsp;withSvc(java.lang.Class&lt;?&gt;...&nbsp;services)</pre>
 <div class="block">Adds in one shot multiple required/autoconfig service dependencies.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -1153,13 +1126,13 @@ var activeTableTab = "activeTableTab";
 </dl>
 </li>
 </ul>
-<a name="withSrv-java.lang.Class-java.util.function.Consumer-">
+<a name="withSvc-java.lang.Class-java.util.function.Consumer-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>withSrv</h4>
-<pre>&lt;U&gt;&nbsp;<a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a>&nbsp;withSrv(java.lang.Class&lt;U&gt;&nbsp;service,
+<h4>withSvc</h4>
+<pre>&lt;U&gt;&nbsp;<a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a>&nbsp;withSvc(java.lang.Class&lt;U&gt;&nbsp;service,
               java.util.function.Consumer&lt;<a href="../../../../../org/apache/felix/dm/lambda/ServiceDependencyBuilder.html" title="interface in org.apache.felix.dm.lambda">ServiceDependencyBuilder</a>&lt;U&gt;&gt;&nbsp;consumer)</pre>
 <div class="block">Adds a service dependency built using a Consumer lambda that is provided with a ServiceDependencyBuilder.</div>
 <dl>
@@ -1205,22 +1178,6 @@ var activeTableTab = "activeTableTab";
 </dl>
 </li>
 </ul>
-<a name="withCnf-java.lang.Class...-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>withCnf</h4>
-<pre>default&nbsp;<a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a>&nbsp;withCnf(java.lang.Class&lt;?&gt;...&nbsp;pids)</pre>
-<div class="block">Adds multiple configuration dependencies in one single call.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>pids</code> - list of configuration pids</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>this builder</dd>
-</dl>
-</li>
-</ul>
 <a name="withBundle-java.util.function.Consumer-">
 <!--   -->
 </a>
@@ -1257,6 +1214,34 @@ var activeTableTab = "activeTableTab";
 </dl>
 </li>
 </ul>
+<a name="lifecycleCallbackInstance-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>lifecycleCallbackInstance</h4>
+<pre><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a>&nbsp;lifecycleCallbackInstance(java.lang.Object&nbsp;lifecycleCallbackInstance)</pre>
+<div class="block">Sets the instance to invoke with the reflection based lifecycle callbacks. By default, reflection based 
+ lifecycle callbacks (init/start/stop/destroy) methods are invoked on the component implementation instance(s).
+ But you can set a specific callback instance using this method.
+ <p>
+ Specifying an instance means you can create a manager
+ that will be invoked whenever the life cycle of a component changes and this manager
+ can then decide how to expose this life cycle to the actual component, offering an
+ important indirection when developing your own component models.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>lifecycleCallbackInstance</code> - the instance the lifecycle callback will be invoked on.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this builder.</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#init-java.lang.String-"><code>init(String)</code></a>, 
+<a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#start-java.lang.String-"><code>start(String)</code></a>, 
+<a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#stop-java.lang.String-"><code>stop(String)</code></a>, 
+<a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#destroy-java.lang.String-"><code>destroy(String)</code></a></dd>
+</dl>
+</li>
+</ul>
 <a name="init-java.lang.String-">
 <!--   -->
 </a>
@@ -1269,7 +1254,7 @@ var activeTableTab = "activeTableTab";
  This method is useful because when it is invoked, all required dependencies defines in the Activator
  are already injected, and you can then add more extra dependencies from the init() method.
  And once all extra dependencies will be available and injected, then the "start" callback will be invoked.
- The dependency manager will look for a method of this name with the following signatures,
+ <p>The dependency manager will look for a method of this name with the following signatures,
  in this order:
  <ol>
  <li>method(Component component)</li>
@@ -1291,7 +1276,7 @@ var activeTableTab = "activeTableTab";
 <h4>start</h4>
 <pre><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a>&nbsp;start(java.lang.String&nbsp;callback)</pre>
 <div class="block">Sets the name of the method used as the "start" callback. This method, when found, is
- invoked as part of the life cycle management of the component implementation. The
+ invoked as part of the life cycle management of the component implementation. <p>The
  dependency manager will look for a method of this name with the following signatures,
  in this order:
  <ol>
@@ -1314,7 +1299,7 @@ var activeTableTab = "activeTableTab";
 <h4>stop</h4>
 <pre><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a>&nbsp;stop(java.lang.String&nbsp;callback)</pre>
 <div class="block">Sets the name of the method used as the "stop" callback. This method, when found, is
- invoked as part of the life cycle management of the component implementation. The
+ invoked as part of the life cycle management of the component implementation. <p>The
  dependency manager will look for a method of this name with the following signatures,
  in this order:
  <ol>
@@ -1337,7 +1322,7 @@ var activeTableTab = "activeTableTab";
 <h4>destroy</h4>
 <pre><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a>&nbsp;destroy(java.lang.String&nbsp;callback)</pre>
 <div class="block">Sets the name of the method used as the "destroy" callback. This method, when found, is
- invoked as part of the life cycle management of the component implementation. The
+ invoked as part of the life cycle management of the component implementation. <p>The
  dependency manager will look for a method of this name with the following signatures,
  in this order:
  <ol>
@@ -1352,284 +1337,179 @@ var activeTableTab = "activeTableTab";
 </dl>
 </li>
 </ul>
-<a name="init-java.lang.Object-java.lang.String-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>init</h4>
-<pre><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a>&nbsp;init(java.lang.Object&nbsp;callbackInstance,
-       java.lang.String&nbsp;callback)</pre>
-<div class="block">Sets the name of the methods used as init callback that is invoked on a given Object instance. 
- These methods, when found, are invoked on the specified instance as part of the life cycle management 
- of the component implementation.
- <p>
- Specifying an instance means you can create a manager
- that will be invoked whenever the life cycle of a component changes and this manager
- can then decide how to expose this life cycle to the actual component, offering an
- important indirection when developing your own component models.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>callbackInstance</code> - the instance the callback will be invoked on.</dd>
-<dd><code>callback</code> - the callback name</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>this builder.</dd>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#init-java.lang.String-"><code>init(String)</code></a></dd>
-</dl>
-</li>
-</ul>
-<a name="start-java.lang.Object-java.lang.String-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>start</h4>
-<pre><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a>&nbsp;start(java.lang.Object&nbsp;callbackInstance,
-        java.lang.String&nbsp;callback)</pre>
-<div class="block">Sets the name of the methods used as start callback that is invoked on a given Object instance. 
- These methods, when found, are invoked on the specified instance as part of the life cycle management 
- of the component implementation.
- <p>
- Specifying an instance means you can create a manager
- that will be invoked whenever the life cycle of a component changes and this manager
- can then decide how to expose this life cycle to the actual component, offering an
- important indirection when developing your own component models.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>callbackInstance</code> - the instance the callback will be invoked on.</dd>
-<dd><code>callback</code> - the name of the start method</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>this builder.</dd>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#start-java.lang.String-"><code>start(String)</code></a></dd>
-</dl>
-</li>
-</ul>
-<a name="stop-java.lang.Object-java.lang.String-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>stop</h4>
-<pre><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a>&nbsp;stop(java.lang.Object&nbsp;callbackInstance,
-       java.lang.String&nbsp;callback)</pre>
-<div class="block">Sets the name of the methods used as stop callback that is invoked on a given Object instance. 
- These methods, when found, are invoked on the specified instance as part of the life cycle management 
- of the component implementation.
- <p>
- Specifying an instance means you can create a manager
- that will be invoked whenever the life cycle of a component changes and this manager
- can then decide how to expose this life cycle to the actual component, offering an
- important indirection when developing your own component models.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>callbackInstance</code> - the instance the callback will be invoked on.</dd>
-<dd><code>callback</code> - the name of the stop method</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>this builder.</dd>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#stop-java.lang.String-"><code>stop(String)</code></a></dd>
-</dl>
-</li>
-</ul>
-<a name="destroy-java.lang.Object-java.lang.String-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>destroy</h4>
-<pre><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a>&nbsp;destroy(java.lang.Object&nbsp;callbackInstance,
-          java.lang.String&nbsp;callback)</pre>
-<div class="block">Sets the name of the methods used as destroy callback that is invoked on a given Object instance. 
- These methods, when found, are invoked on the specified instance as part of the life cycle management 
- of the component implementation.
- <p>
- Specifying an instance means you can create a manager
- that will be invoked whenever the life cycle of a component changes and this manager
- can then decide how to expose this life cycle to the actual component, offering an
- important indirection when developing your own component models.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>callbackInstance</code> - the instance the callback will be invoked on.</dd>
-<dd><code>callback</code> - the name of the destroy method</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>this builder.</dd>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#destroy-java.lang.String-"><code>destroy(String)</code></a></dd>
-</dl>
-</li>
-</ul>
-<a name="init-org.apache.felix.dm.lambda.callbacks.CbConsumer-">
+<a name="init-org.apache.felix.dm.lambda.callbacks.Cb-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>init</h4>
-<pre>&lt;U&gt;&nbsp;<a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a>&nbsp;init(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/CbConsumer.html" title="interface in org.apache.felix.dm.lambda.callbacks">CbConsumer</a>&lt;U&gt;&nbsp;callback)</pre>
-<div class="block">Sets a method reference used as the "init" callback. This method reference must point to method from one 
- of the component instance classes. It is invoked as part of the life cycle management of the component implementation. 
+<pre>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a>&nbsp;init(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/Cb.html" title="interface in org.apache.felix.dm.lambda.callbacks">Cb</a>&lt;T&gt;&nbsp;callback)</pre>
+<div class="block">Sets a reference to a component implementation class "init" callback method. 
+ This method does not take any arguments and is 
+ invoked as part of the life cycle management of the component implementation. 
  This method is useful because when it is invoked, all required dependencies defines in the Activator
  are already injected, and you can then add more extra dependencies from the init() method.
- And once all extra dependencies will be available and injected, then the "start" callback will be invoked.
- The method does not take any parameters.</div>
+ And once all extra dependencies will be available and injected, then the "start" callback will be invoked.</div>
 <dl>
 <dt><span class="paramLabel">Type Parameters:</span></dt>
-<dd><code>U</code> - the type of the component class on which the callback is invoked on.</dd>
+<dd><code>T</code> - the type of the component class on which the callback is invoked on.</dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>callback</code> - a method reference must point to method from one of the component instance classes.</dd>
+<dd><code>callback</code> - a method reference must point to method from the component implementation class(es).</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>this builder</dd>
 </dl>
 </li>
 </ul>
-<a name="start-org.apache.felix.dm.lambda.callbacks.CbConsumer-">
+<a name="start-org.apache.felix.dm.lambda.callbacks.Cb-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>start</h4>
-<pre>&lt;U&gt;&nbsp;<a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a>&nbsp;start(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/CbConsumer.html" title="interface in org.apache.felix.dm.lambda.callbacks">CbConsumer</a>&lt;U&gt;&nbsp;callback)</pre>
-<div class="block">Sets a method reference used as the "start" callback. This method reference must point to method from one 
- of the component instance classes. This method is invoked as part of the life cycle management of the component implementation.</div>
+<pre>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a>&nbsp;start(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/Cb.html" title="interface in org.apache.felix.dm.lambda.callbacks">Cb</a>&lt;T&gt;&nbsp;callback)</pre>
+<div class="block">Sets a reference to a component implementation class "start" callback method. 
+ This method does not take any arguments and is 
+ invoked as part of the life cycle management of the component implementation.</div>
 <dl>
 <dt><span class="paramLabel">Type Parameters:</span></dt>
-<dd><code>U</code> - the type of the component class on which the callback is invoked on.</dd>
+<dd><code>T</code> - the type of the component class on which the callback is invoked on.</dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>callback</code> - a method reference must point to method from one of the component instance classes.</dd>
+<dd><code>callback</code> - a method reference must point to method from one of the component implementation classes.</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>this builder.</dd>
 </dl>
 </li>
 </ul>
-<a name="stop-org.apache.felix.dm.lambda.callbacks.CbConsumer-">
+<a name="stop-org.apache.felix.dm.lambda.callbacks.Cb-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>stop</h4>
-<pre>&lt;U&gt;&nbsp;<a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a>&nbsp;stop(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/CbConsumer.html" title="interface in org.apache.felix.dm.lambda.callbacks">CbConsumer</a>&lt;U&gt;&nbsp;callback)</pre>
-<div class="block">Sets a method reference used as the "stop" callback. This method reference must point to method from one 
- of the component instance classes. This method is invoked as part of the life cycle management of the component implementation.</div>
+<pre>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a>&nbsp;stop(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/Cb.html" title="interface in org.apache.felix.dm.lambda.callbacks">Cb</a>&lt;T&gt;&nbsp;callback)</pre>
+<div class="block">Sets a reference to a component implementation class "stop" callback method. 
+ This method does not take any arguments and is 
+ invoked as part of the life cycle management of the component implementation.</div>
 <dl>
 <dt><span class="paramLabel">Type Parameters:</span></dt>
-<dd><code>U</code> - the type of the component class on which the callback is invoked on.</dd>
+<dd><code>T</code> - the type of the component class on which the callback is invoked on.</dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>callback</code> - a method reference must point to method from one of the component instance classes.</dd>
+<dd><code>callback</code> - a method reference must point to method from one of the component implementation classes.</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>this builder.</dd>
 </dl>
 </li>
 </ul>
-<a name="destroy-org.apache.felix.dm.lambda.callbacks.CbConsumer-">
+<a name="destroy-org.apache.felix.dm.lambda.callbacks.Cb-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>destroy</h4>
-<pre>&lt;U&gt;&nbsp;<a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a>&nbsp;destroy(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/CbConsumer.html" title="interface in org.apache.felix.dm.lambda.callbacks">CbConsumer</a>&lt;U&gt;&nbsp;callback)</pre>
-<div class="block">Sets a method reference used as the "destroy" callback. This method reference must point to method from one 
- of the component instance classes. This method is invoked as part of the life cycle management of the component implementation.</div>
+<pre>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a>&nbsp;destroy(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/Cb.html" title="interface in org.apache.felix.dm.lambda.callbacks">Cb</a>&lt;T&gt;&nbsp;callback)</pre>
+<div class="block">Sets a reference to a component implementation class "destroy" callback method. 
+ This method does not take any arguments and is 
+ invoked as part of the life cycle management of the component implementation.</div>
 <dl>
 <dt><span class="paramLabel">Type Parameters:</span></dt>
-<dd><code>U</code> - the type of the component class on which the callback is invoked on.</dd>
+<dd><code>T</code> - the type of the component class on which the callback is invoked on.</dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>callback</code> - a method reference must point to method from one of the component instance classes.</dd>
+<dd><code>callback</code> - a method reference must point to method from one of the component implementation classes.</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>this builder.</dd>
 </dl>
 </li>
 </ul>
-<a name="init-org.apache.felix.dm.lambda.callbacks.CbTypeComponent-">
+<a name="init-org.apache.felix.dm.lambda.callbacks.CbComponent-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>init</h4>
-<pre>&lt;U&gt;&nbsp;<a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a>&nbsp;init(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/CbTypeComponent.html" title="interface in org.apache.felix.dm.lambda.callbacks">CbTypeComponent</a>&lt;U&gt;&nbsp;callback)</pre>
-<div class="block">Sets a method reference used as the "init" callback. This method reference must point to method from one 
- of the component instance classes. It is invoked as part of the life cycle management of the component implementation. 
+<pre>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a>&nbsp;init(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/CbComponent.html" title="interface in org.apache.felix.dm.lambda.callbacks">CbComponent</a>&lt;T&gt;&nbsp;callback)</pre>
+<div class="block">Sets a reference to a component implementation class "init" callback method. 
+ This method takes a Component argument and is  
+ invoked as part of the life cycle management of the component implementation. 
  This method is useful because when it is invoked, all required dependencies defines in the Activator
  are already injected, and you can then add more extra dependencies from the init() method.
- And once all extra dependencies will be available and injected, then the "start" callback will be invoked.
- The method takes as argument a Component parameter.</div>
+ And once all extra dependencies will be available and injected, then the "start" callback will be invoked.</div>
 <dl>
 <dt><span class="paramLabel">Type Parameters:</span></dt>
-<dd><code>U</code> - the type of the component class on which the callback is invoked on.</dd>
+<dd><code>T</code> - the type of the component class on which the callback is invoked on.</dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>callback</code> - a method reference must point to method from one of the component instance classes. The method takes as argument a Component parameter.</dd>
+<dd><code>callback</code> - a method reference must point to method from one of the component implementation classes. The method takes as argument a Component parameter.</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>this builder</dd>
 </dl>
 </li>
 </ul>
-<a name="start-org.apache.felix.dm.lambda.callbacks.CbTypeComponent-">
+<a name="start-org.apache.felix.dm.lambda.callbacks.CbComponent-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>start</h4>
-<pre>&lt;U&gt;&nbsp;<a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a>&nbsp;start(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/CbTypeComponent.html" title="interface in org.apache.felix.dm.lambda.callbacks">CbTypeComponent</a>&lt;U&gt;&nbsp;callback)</pre>
-<div class="block">Sets a method reference used as the "start" callback. This method reference must point to method from one 
- of the component instance classes. This method is invoked as part of the life cycle management of the component implementation. 
- The method takes as argument a Component parameter.</div>
+<pre>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a>&nbsp;start(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/CbComponent.html" title="interface in org.apache.felix.dm.lambda.callbacks">CbComponent</a>&lt;T&gt;&nbsp;callback)</pre>
+<div class="block">Sets a reference to a component implementation class "start" callback method. 
+ This method takes a Component argument and is  
+ invoked as part of the life cycle management of the component implementation.</div>
 <dl>
 <dt><span class="paramLabel">Type Parameters:</span></dt>
-<dd><code>U</code> - the type of the component class on which the callback is invoked on.</dd>
+<dd><code>T</code> - the type of the component class on which the callback is invoked on.</dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>callback</code> - a method reference must point to method from one of the component instance classes. The method takes as argument a Component parameter.</dd>
+<dd><code>callback</code> - a method reference must point to method from one of the component implementation classes. The method takes as argument a Component parameter.</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>this builder.</dd>
 </dl>
 </li>
 </ul>
-<a name="stop-org.apache.felix.dm.lambda.callbacks.CbTypeComponent-">
+<a name="stop-org.apache.felix.dm.lambda.callbacks.CbComponent-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>stop</h4>
-<pre>&lt;U&gt;&nbsp;<a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a>&nbsp;stop(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/CbTypeComponent.html" title="interface in org.apache.felix.dm.lambda.callbacks">CbTypeComponent</a>&lt;U&gt;&nbsp;callback)</pre>
-<div class="block">Sets a method reference used as the "stop" callback. This method reference must point to method from one 
- of the component instance classes. This method is invoked as part of the life cycle management of the component implementation. 
- The method takes as argument a Component parameter.</div>
+<pre>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a>&nbsp;stop(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/CbComponent.html" title="interface in org.apache.felix.dm.lambda.callbacks">CbComponent</a>&lt;T&gt;&nbsp;callback)</pre>
+<div class="block">Sets a reference to a component implementation class "stop" callback method. 
+ This method takes a Component argument and is  
+ invoked as part of the life cycle management of the component implementation.</div>
 <dl>
 <dt><span class="paramLabel">Type Parameters:</span></dt>
-<dd><code>U</code> - the type of the component class on which the callback is invoked on.</dd>
+<dd><code>T</code> - the type of the component class on which the callback is invoked on.</dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>callback</code> - a method reference must point to method from one of the component instance classes. The method takes as argument a Component parameter.</dd>
+<dd><code>callback</code> - a method reference must point to method from one of the component implementation classes. The method takes as argument a Component parameter.</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>this builder.</dd>
 </dl>
 </li>
 </ul>
-<a name="destroy-org.apache.felix.dm.lambda.callbacks.CbTypeComponent-">
+<a name="destroy-org.apache.felix.dm.lambda.callbacks.CbComponent-">
 <!--   -->
 </a>

[... 189 lines stripped ...]



Mime
View raw message