You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by pd...@apache.org on 2017/02/14 07:10:18 UTC

svn commit: r1782916 [5/20] - in /felix/site/trunk/content/apidocs/dependencymanager.lambda/r9: ./ org/ org/apache/ org/apache/felix/ org/apache/felix/dm/ org/apache/felix/dm/lambda/ org/apache/felix/dm/lambda/callbacks/

Added: felix/site/trunk/content/apidocs/dependencymanager.lambda/r9/org/apache/felix/dm/lambda/ComponentBuilder.html
URL: http://svn.apache.org/viewvc/felix/site/trunk/content/apidocs/dependencymanager.lambda/r9/org/apache/felix/dm/lambda/ComponentBuilder.html?rev=1782916&view=auto
==============================================================================
--- felix/site/trunk/content/apidocs/dependencymanager.lambda/r9/org/apache/felix/dm/lambda/ComponentBuilder.html (added)
+++ felix/site/trunk/content/apidocs/dependencymanager.lambda/r9/org/apache/felix/dm/lambda/ComponentBuilder.html Tue Feb 14 07:10:16 2017
@@ -0,0 +1,1905 @@
+<!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>ComponentBuilder</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="ComponentBuilder";
+        }
+    }
+    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":18,"i52":6,"i53":18,"i54":6,"i55":6,"i56":18,"i57":18,"i58":18,"i59":18,"i60":18,"i61":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";
+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/BundleDependencyBuilder.html" title="interface in org.apache.felix.dm.lambda"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/felix/dm/lambda/ConfigurationDependencyBuilder.html" title="interface in org.apache.felix.dm.lambda"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/felix/dm/lambda/ComponentBuilder.html" target="_top">Frames</a></li>
+<li><a href="ComponentBuilder.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.felix.dm.lambda</div>
+<h2 title="Interface ComponentBuilder" class="title">Interface ComponentBuilder&lt;B extends ComponentBuilder&lt;B&gt;&gt;</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>B</code> - the type of a builder that may extends this builder interface (aspect/adapter).</dd>
+</dl>
+<dl>
+<dt>All Known Subinterfaces:</dt>
+<dd><a href="../../../../../org/apache/felix/dm/lambda/BundleAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda">BundleAdapterBuilder</a>, <a href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda">FactoryPidAdapterBuilder</a>, <a href="../../../../../org/apache/felix/dm/lambda/ServiceAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda">ServiceAdapterBuilder</a>&lt;T&gt;, <a href="../../../../../org/apache/felix/dm/lambda/ServiceAspectBuilder.html" title="interface in org.apache.felix.dm.lambda">ServiceAspectBuilder</a>&lt;T&gt;</dd>
+</dl>
+<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. <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. This interface is also the base interface for extended components like 
+ aspects, adapters, etc ...
+
+ <p> Example of a component that depends on a LogServce service. The dependency is injected by reflection
+ on fields having a compatible type with the LogService interface:
+ 
+ <pre><code>
+ public class Activator extends DependencyManagerActivator {
+   public void init(BundleContext ctx, DependencyManager dm) throws Exception {
+       component(comp -&gt; comp.impl(Pojo.class).withSvc(LogService.class));
+   }
+ }
+ </code> </pre></div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t5" class="tableTab"><span><a href="javascript:show(16);">Default Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><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#autoAdd-boolean-">autoAdd</a></span>(boolean&nbsp;autoAdd)</code>
+<div class="block">Automatically adds this component to its DependencyManager object.</div>
+</td>
+</tr>
+<tr id="i1" 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#autoConfig-java.lang.Class-boolean-">autoConfig</a></span>(java.lang.Class&lt;?&gt;&nbsp;clazz,
+          boolean&nbsp;autoConfig)</code>
+<div class="block">Configures OSGi object (BundleContext, Component, etc ...) that will be injected in any field having the same OSGi object type.</div>
+</td>
+</tr>
+<tr id="i2" 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#autoConfig-java.lang.Class-java.lang.String-">autoConfig</a></span>(java.lang.Class&lt;?&gt;&nbsp;clazz,
+          java.lang.String&nbsp;field)</code>
+<div class="block">Configures OSGi object (BundleContext, Component, etc ...) that will be injected in a given field.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>Component</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#build--">build</a></span>()</code>
+<div class="block">Builds the real DependencyManager Component.</div>
+</td>
+</tr>
+<tr id="i4" 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#composition-java.lang.Object-java.lang.String-">composition</a></span>(java.lang.Object&nbsp;instance,
+           java.lang.String&nbsp;getCompositionMethod)</code>
+<div class="block">Sets the instance and method to invoke to get back all instances that
+ are part of a composition and need dependencies injected.</div>
+</td>
+</tr>
+<tr id="i5" 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#composition-java.lang.String-">composition</a></span>(java.lang.String&nbsp;getCompositionMethod)</code>
+<div class="block">Sets the method to invoke on the service implementation to get back all
+ instances that are part of a composition and need dependencies injected.</div>
+</td>
+</tr>
+<tr id="i6" 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#composition-java.util.function.Supplier-">composition</a></span>(java.util.function.Supplier&lt;java.lang.Object[]&gt;&nbsp;getCompositionMethod)</code>
+<div class="block">Sets a java8 method reference to a Supplier that returns all instances that are part of a composition and need dependencies injected.</div>
+</td>
+</tr>
+<tr id="i7" 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#debug-java.lang.String-">debug</a></span>(java.lang.String&nbsp;label)</code>
+<div class="block">Activates debug mode</div>
+</td>
+</tr>
+<tr id="i8" 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-org.apache.felix.dm.lambda.callbacks.InstanceCb-">destroy</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="i9" 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-org.apache.felix.dm.lambda.callbacks.InstanceCbComponent-">destroy</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="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 a callback instance and the name of the method used as the "destroy" callback.</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">
+<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 when creating the implementation.</div>
+</td>
+</tr>
+<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.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="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-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 "getComposition" factory method.</div>
+</td>
+</tr>
+<tr id="i15" 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#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,
+       java.util.function.Function&lt;U,java.lang.Object[]&gt;&nbsp;getComposition)</code>
+<div class="block">Configures a factory that also returns a composition of objects for this component implemenation.</div>
+</td>
+</tr>
+<tr id="i16" class="altColor">
+<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="i17" 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#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="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#init-org.apache.felix.dm.lambda.callbacks.InstanceCb-">init</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="i19" 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-org.apache.felix.dm.lambda.callbacks.InstanceCbComponent-">init</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="i20" 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 a callback instance and the name of the method used as the "init" callback.</div>
+</td>
+</tr>
+<tr id="i21" 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>
+</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#listener-ComponentStateListener-">listener</a></span>(ComponentStateListener&nbsp;listener)</code>
+<div class="block">Adds a component state listener to this component.</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#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="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#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="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#properties-java.lang.String-java.lang.Object-java.lang.Object...-">properties</a></span>(java.lang.String&nbsp;name,
+          java.lang.Object&nbsp;value,
+          java.lang.Object...&nbsp;rest)</code>
+<div class="block">Sets the components's service properties using varargs.</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#provides-java.lang.Class-">provides</a></span>(java.lang.Class&lt;?&gt;&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="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#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="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: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="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-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="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.lang.String-java.lang.Object-java.lang.Object...-">provides</a></span>(java.lang.Class&lt;?&gt;[]&nbsp;ifaces,
+        java.lang.String&nbsp;name,
+        java.lang.Object&nbsp;value,
+        java.lang.Object...&nbsp;rest)</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">
+<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="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-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="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.lang.String-java.lang.Object-java.lang.Object...-">provides</a></span>(java.lang.Class&lt;?&gt;&nbsp;iface,
+        java.lang.String&nbsp;name,
+        java.lang.Object&nbsp;value,
+        java.lang.Object...&nbsp;rest)</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="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.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="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.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="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: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="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-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="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.lang.String-java.lang.Object-java.lang.Object...-">provides</a></span>(java.lang.String[]&nbsp;ifaces,
+        java.lang.String&nbsp;name,
+        java.lang.Object&nbsp;value,
+        java.lang.Object...&nbsp;rest)</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">
+<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="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-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="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.lang.String-java.lang.Object-java.lang.Object...-">provides</a></span>(java.lang.String&nbsp;iface,
+        java.lang.String&nbsp;name,
+        java.lang.Object&nbsp;value,
+        java.lang.Object...&nbsp;rest)</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="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#start-org.apache.felix.dm.lambda.callbacks.InstanceCb-">start</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="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#start-org.apache.felix.dm.lambda.callbacks.InstanceCbComponent-">start</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="i44" 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.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 method used as the "start" callback.</div>
+</td>
+</tr>
+<tr id="i45" 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.String-">start</a></span>(java.lang.String&nbsp;callback)</code>
+<div class="block">Sets a callback instance and the name of the method used as the "start" callback.</div>
+</td>
+</tr>
+<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#stop-org.apache.felix.dm.lambda.callbacks.InstanceCb-">stop</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="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#stop-org.apache.felix.dm.lambda.callbacks.InstanceCbComponent-">stop</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="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#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 a callback instance and the name of the method used as the "stop" callback.</div>
+</td>
+</tr>
+<tr id="i49" 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="i50" 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="i51" class="rowColor">
+<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;configType)</code>
+<div class="block">Adds a configuration dependency using a configuration type.</div>
+</td>
+</tr>
+<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#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="i53" class="rowColor">
+<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="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#withDep-Dependency-">withDep</a></span>(Dependency&nbsp;dependency)</code>
+<div class="block">Adds a generic Dependency Manager dependency.</div>
+</td>
+</tr>
+<tr id="i55" 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="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#withSvc-boolean-java.lang.Class...-">withSvc</a></span>(boolean&nbsp;required,
+       java.lang.Class&lt;?&gt;...&nbsp;services)</code>
+<div class="block">Adds in one shot multiple service dependencies injected in compatible class fields.</div>
+</td>
+</tr>
+<tr id="i57" class="rowColor">
+<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#withSvc-java.lang.Class...-">withSvc</a></span>(java.lang.Class&lt;?&gt;...&nbsp;services)</code>
+<div class="block">Adds in one shot multiple service dependencies injected in compatible class fields.</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#withSvc-java.lang.Class-boolean-">withSvc</a></span>(java.lang.Class&lt;?&gt;&nbsp;service,
+       boolean&nbsp;required)</code>
+<div class="block">Adds a service dependency injected in compatible class fields.</div>
+</td>
+</tr>
+<tr id="i59" class="rowColor">
+<td class="colFirst"><code>default &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#withSvc-java.lang.Class-java.lang.String-boolean-">withSvc</a></span>(java.lang.Class&lt;T&gt;&nbsp;service,
+       java.lang.String&nbsp;filter,
+       boolean&nbsp;required)</code>
+<div class="block">Adds a service dependency injected in compatible class fields.</div>
+</td>
+</tr>
+<tr id="i60" class="altColor">
+<td class="colFirst"><code>default &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#withSvc-java.lang.Class-java.lang.String-java.lang.String-boolean-">withSvc</a></span>(java.lang.Class&lt;T&gt;&nbsp;service,
+       java.lang.String&nbsp;filter,
+       java.lang.String&nbsp;field,
+       boolean&nbsp;required)</code>
+<div class="block">Adds a service dependency injected in a given compatible class field.</div>
+</td>
+</tr>
+<tr id="i61" 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#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>
+</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="impl-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>impl</h4>
+<pre><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a>&nbsp;impl(java.lang.Object&nbsp;impl)</pre>
+<div class="block">Configures the component implementation. Can be a class name, or a component implementation object.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>impl</code> - the component implementation (a class, or an Object).</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this builder</dd>
+</dl>
+</li>
+</ul>
+<a name="factory-java.lang.Object-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<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 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.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this builder</dd>
+</dl>
+</li>
+</ul>
+<a name="factory-java.util.function.Supplier-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<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;create)</pre>
+<div class="block">Configures a factory that can be used to create this component implementation.
+ Example: 
+ 
+ <pre> <code>
+ factory(ComponentImpl::new)", or "factory(() -&gt; new ComponentImpl())
+ </code></pre></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>create</code> - the factory used to create the component implementation.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this builder</dd>
+</dl>
+</li>
+</ul>
+<a name="factory-java.util.function.Supplier-java.util.function.Function-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>factory</h4>
+<pre>&lt;U,V&gt;&nbsp;<a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a>&nbsp;factory(java.util.function.Supplier&lt;U&gt;&nbsp;factory,
+                java.util.function.Function&lt;U,V&gt;&nbsp;create)</pre>
+<div class="block">Configures a factory used to create this component implementation using a Factory object and a method in the Factory object.
+ Example:
+ 
+ <pre> <code>
+ factory(Factory::new, Factory::create)
+ </code></pre></div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>U</code> - the type of the factory returned by the supplier</dd>
+<dd><code>V</code> - the type of the object that is returned by the factory create method.</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>factory</code> - the function used to create the Factory itself</dd>
+<dd><code>create</code> - the method reference on the Factory method that is used to create the Component implementation</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this builder</dd>
+</dl>
+</li>
+</ul>
+<a name="factory-java.util.function.Supplier-java.util.function.Supplier-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<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 "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:
+ 
+ <pre> <code>
+ CompositionManager mngr = new CompositionManager();
+ ...
+ factory(mngr::create, mngr::getComposition)
+ </code></pre></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>factory</code> - the supplier used to return the main component implementation instance</dd>
+<dd><code>getComposition</code> - the supplier that returns the list of instances that are part of the component implementation classes.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this builder</dd>
+</dl>
+</li>
+</ul>
+<a name="factory-java.util.function.Supplier-java.util.function.Function-java.util.function.Function-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>factory</h4>
+<pre>&lt;U&gt;&nbsp;<a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a>&nbsp;factory(java.util.function.Supplier&lt;U&gt;&nbsp;factory,
+              java.util.function.Function&lt;U,?&gt;&nbsp;create,
+              java.util.function.Function&lt;U,java.lang.Object[]&gt;&nbsp;getComposition)</pre>
+<div class="block">Configures a factory that also returns a composition of objects for this component implemenation.
+ 
+ Example:
+ 
+ <pre> <code>
+ 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), 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>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>factory</code> - the function used to create the Factory itself</dd>
+<dd><code>create</code> - the Factory method used to create the main component implementation object</dd>
+<dd><code>getComposition</code> - the Factory method used to return the list of objects that are also part of the component implementation.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this builder</dd>
+</dl>
+</li>
+</ul>
+<a name="provides-java.lang.Class-">
+<!--   -->
+</a>
+<ul class="blockList">
+<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 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 interface to register in the OSGI service registry.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this builder</dd>
+</dl>
+</li>
+</ul>
+<a name="provides-java.lang.Class-java.lang.String-java.lang.Object-java.lang.Object...-">
+<!--   -->
+</a>
+<ul class="blockList">
+<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,
+           java.lang.String&nbsp;name,
+           java.lang.Object&nbsp;value,
+           java.lang.Object...&nbsp;rest)</pre>
+<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 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>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this builder.</dd>
+</dl>
+</li>
+</ul>
+<a name="provides-java.lang.Class-org.apache.felix.dm.lambda.FluentProperty...-">
+<!--   -->
+</a>
+<ul class="blockList">
+<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,
+           <a href="../../../../../org/apache/felix/dm/lambda/FluentProperty.html" title="interface in org.apache.felix.dm.lambda">FluentProperty</a>...&nbsp;properties)</pre>
+<div class="block">Sets the public interface under which this component should be registered in the OSGi service registry.
+ Warning: you can only use this method if you compile your application using the "-parameters" javac option.
+ 
+ code example:
+ 
+ <pre> <code>
+  provides(MyService.class, property1 -&gt; "value1", property2 -&gt; 123);
+ </code></pre></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<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>
+<dd>this builder.</dd>
+</dl>
+</li>
+</ul>
+<a name="provides-java.lang.Class-java.util.Dictionary-">
+<!--   -->
+</a>
+<ul class="blockList">
+<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,
+           java.util.Dictionary&lt;?,?&gt;&nbsp;properties)</pre>
+<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 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>
+</dl>
+</li>
+</ul>
+<a name="provides-java.lang.Class:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<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;ifaces)</pre>
+<div class="block">Sets the public interfaces under which this component should be registered in the OSGi service registry.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>ifaces</code> - list of services provided by the component.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this builder.</dd>
+</dl>
+</li>
+</ul>
+<a name="provides-java.lang.Class:A-java.lang.String-java.lang.Object-java.lang.Object...-">
+<!--   -->
+</a>
+<ul class="blockList">
+<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;ifaces,
+           java.lang.String&nbsp;name,
+           java.lang.Object&nbsp;value,
+           java.lang.Object...&nbsp;rest)</pre>
+<div class="block">Sets the public interfaces under which this component should be registered in the OSGi service registry.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>ifaces</code> - the public interfaces 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>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this builder.</dd>
+</dl>
+</li>
+</ul>
+<a name="provides-java.lang.Class:A-org.apache.felix.dm.lambda.FluentProperty...-">
+<!--   -->
+</a>
+<ul class="blockList">
+<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;ifaces,
+           <a href="../../../../../org/apache/felix/dm/lambda/FluentProperty.html" title="interface in org.apache.felix.dm.lambda">FluentProperty</a>...&nbsp;properties)</pre>
+<div class="block">Sets the public interfaces under which this component should be registered in the OSGi service registry.
+ Warning: you can only use this method if you compile your application using the "-parameters" javac option. 
+ code example:
+ 
+ <pre> <code>
+    provides(new Class[] { MyService.class, MyService2.class }, property1 -&gt; "value1", property2 -&gt; 123);
+ </code></pre></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>ifaces</code> - the public interfaces 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>
+<dd>this builder.</dd>
+</dl>
+</li>
+</ul>
+<a name="provides-java.lang.Class:A-java.util.Dictionary-">
+<!--   -->
+</a>
+<ul class="blockList">
+<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;ifaces,
+           java.util.Dictionary&lt;?,?&gt;&nbsp;properties)</pre>
+<div class="block">Sets the public interfaces under which this component should be registered in the OSGi service registry.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>ifaces</code> - the public interfaces 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>
+</dl>
+</li>
+</ul>
+<a name="provides-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<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.String&nbsp;iface)</pre>
+<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 service provided by this component.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this builder.</dd>
+</dl>
+</li>
+</ul>
+<a name="provides-java.lang.String-java.lang.String-java.lang.Object-java.lang.Object...-">
+<!--   -->
+</a>
+<ul class="blockList">
+<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.String&nbsp;iface,
+           java.lang.String&nbsp;name,
+           java.lang.Object&nbsp;value,
+           java.lang.Object...&nbsp;rest)</pre>
+<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 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>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this builder.</dd>
+</dl>
+</li>
+</ul>
+<a name="provides-java.lang.String-org.apache.felix.dm.lambda.FluentProperty...-">
+<!--   -->
+</a>
+<ul class="blockList">
+<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.String&nbsp;iface,
+           <a href="../../../../../org/apache/felix/dm/lambda/FluentProperty.html" title="interface in org.apache.felix.dm.lambda">FluentProperty</a>...&nbsp;properties)</pre>
+<div class="block">Sets the public interface under which this component should be registered in the OSGi service registry. 
+ Warning: you can only use this method if you compile your application using the "-parameters" javac option.
+ code example:
+ 
+ <pre> <code> 
+ provides(MyService.class, property1 -&gt; "value1", property2 -&gt; 123);
+ </code></pre></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<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>
+<dd>this builder.</dd>
+</dl>
+</li>
+</ul>
+<a name="provides-java.lang.String-java.util.Dictionary-">
+<!--   -->
+</a>
+<ul class="blockList">
+<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.String&nbsp;iface,
+           java.util.Dictionary&lt;?,?&gt;&nbsp;properties)</pre>
+<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 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>
+</dl>
+</li>
+</ul>
+<a name="provides-java.lang.String:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<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.String[]&nbsp;ifaces)</pre>
+<div class="block">Sets the public interfaces under which this component should be registered in the OSGi service registry.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>ifaces</code> - the list of services provided by the component.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this builder.</dd>
+</dl>
+</li>
+</ul>
+<a name="provides-java.lang.String:A-java.lang.String-java.lang.Object-java.lang.Object...-">
+<!--   -->
+</a>
+<ul class="blockList">
+<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.String[]&nbsp;ifaces,
+           java.lang.String&nbsp;name,
+           java.lang.Object&nbsp;value,
+           java.lang.Object...&nbsp;rest)</pre>
+<div class="block">Sets the public interfaces under which this component should be registered in the OSGi service registry.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>ifaces</code> - the public interfaces 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>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this builder.</dd>
+</dl>
+</li>
+</ul>
+<a name="provides-java.lang.String:A-org.apache.felix.dm.lambda.FluentProperty...-">
+<!--   -->
+</a>
+<ul class="blockList">
+<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.String[]&nbsp;ifaces,
+           <a href="../../../../../org/apache/felix/dm/lambda/FluentProperty.html" title="interface in org.apache.felix.dm.lambda">FluentProperty</a>...&nbsp;properties)</pre>
+<div class="block">Sets the public interfaces under which this component should be registered in the OSGi service registry.
+ Warning: you can only use this method if you compile your application using the "-parameters" javac option.
+ 
+ code example:
+ <pre> <code> 
+ provides(new Class[] { MyService.class, MyService2.class }, property1 -&gt; "value1", property2 -&gt; 123);
+ </code></pre></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>ifaces</code> - the public interfaces 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>
+<dd>this builder.</dd>
+</dl>
+</li>
+</ul>
+<a name="provides-java.lang.String:A-java.util.Dictionary-">
+<!--   -->
+</a>
+<ul class="blockList">
+<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.String[]&nbsp;ifaces,
+           java.util.Dictionary&lt;?,?&gt;&nbsp;properties)</pre>
+<div class="block">Sets the public interfaces under which this component should be registered in the OSGi service registry.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>ifaces</code> - the public interfaces 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>
+</dl>
+</li>
+</ul>
+<a name="properties-java.util.Dictionary-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>properties</h4>
+<pre><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a>&nbsp;properties(java.util.Dictionary&lt;?,?&gt;&nbsp;properties)</pre>
+<div class="block">Sets the component's service properties</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>properties</code> - the component's service properties</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this builder</dd>
+</dl>
+</li>
+</ul>
+<a name="properties-java.lang.String-java.lang.Object-java.lang.Object...-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>properties</h4>
+<pre><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a>&nbsp;properties(java.lang.String&nbsp;name,
+             java.lang.Object&nbsp;value,
+             java.lang.Object...&nbsp;rest)</pre>
+<div class="block">Sets the components's service properties using varargs. The number of parameters must be even, representing a list of pair property key-value.
+ 
+ <pre> <code> 
+ Example: properties("param1", "value1", "service.ranking", 3)
+ </code></pre></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - the first property name</dd>
+<dd><code>value</code> - the first property value</dd>
+<dd><code>rest</code> - the rest of properties key/value pairs.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this builder</dd>
+</dl>
+</li>
+</ul>
+<a name="properties-org.apache.felix.dm.lambda.FluentProperty...-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>properties</h4>
+<pre><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a>&nbsp;properties(<a href="../../../../../org/apache/felix/dm/lambda/FluentProperty.html" title="interface in org.apache.felix.dm.lambda">FluentProperty</a>...&nbsp;properties)</pre>
+<div class="block">Sets the components's service properties using List of lamda properties. 
+  
+ Example: 
+ 
+ <pre> <code>
+   properties(param1 -&gt; "value1, param2 -&gt; 2);
+ </code></pre>
+ 
+ When you use this method, you must compile your source code using the "-parameters" option, and the "arg0" parameter
+ name is now allowed.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>properties</code> - the fluent properties</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this builder</dd>
+</dl>
+</li>
+</ul>
+<a name="withSvc-java.lang.Class-java.util.function.Consumer-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<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>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>U</code> - the type of the dependency service</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>service</code> - the service</dd>
+<dd><code>consumer</code> - the lambda used to build the service dependency</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this builder.</dd>
+</dl>
+</li>
+</ul>
+<a name="withSvc-java.lang.Class...-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>withSvc</h4>
+<pre>default&nbsp;<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 service dependencies injected in compatible class fields.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>services</code> - some dependencies to inject in compatible class fields.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this builder</dd>
+</dl>
+</li>
+</ul>
+<a name="withSvc-boolean-java.lang.Class...-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>withSvc</h4>
+<pre>default&nbsp;<a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a>&nbsp;withSvc(boolean&nbsp;required,
+                  java.lang.Class&lt;?&gt;...&nbsp;services)</pre>
+<div class="block">Adds in one shot multiple service dependencies injected in compatible class fields.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>required</code> - true if the dependency is required, false if not</dd>
+<dd><code>services</code> - some dependencies to inject in compatible class fields.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this builder</dd>
+</dl>
+</li>
+</ul>
+<a name="withSvc-java.lang.Class-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>withSvc</h4>
+<pre>default&nbsp;<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,
+                  boolean&nbsp;required)</pre>
+<div class="block">Adds a service dependency injected in compatible class fields.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>service</code> - a service dependency</dd>
+<dd><code>required</code> - true if the dependency is required, false if not</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this builder</dd>
+</dl>
+</li>
+</ul>
+<a name="withSvc-java.lang.Class-java.lang.String-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>withSvc</h4>
+<pre>default&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a>&nbsp;withSvc(java.lang.Class&lt;T&gt;&nbsp;service,
+                      java.lang.String&nbsp;filter,
+                      boolean&nbsp;required)</pre>
+<div class="block">Adds a service dependency injected in compatible class fields.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - the service dependency type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>service</code> - the service dependency.</dd>
+<dd><code>filter</code> - the service filter</dd>
+<dd><code>required</code> - true if the dependency is required, false if not</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this builder</dd>
+</dl>
+</li>
+</ul>
+<a name="withSvc-java.lang.Class-java.lang.String-java.lang.String-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>withSvc</h4>
+<pre>default&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a>&nbsp;withSvc(java.lang.Class&lt;T&gt;&nbsp;service,
+                      java.lang.String&nbsp;filter,
+                      java.lang.String&nbsp;field,
+                      boolean&nbsp;required)</pre>
+<div class="block">Adds a service dependency injected in a given compatible class field.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - the service dependency type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>service</code> - the service dependency</dd>
+<dd><code>filter</code> - the service filter</dd>
+<dd><code>field</code> - the class field when the dependency has to be injected</dd>
+<dd><code>required</code> - true if the dependency is required, false if not</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this builder</dd>
+</dl>
+</li>
+</ul>
+<a name="withCnf-java.util.function.Consumer-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>withCnf</h4>
+<pre><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a>&nbsp;withCnf(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)</pre>
+<div class="block">Adds a configuration dependency.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>consumer</code> - the lambda used to build the configuration dependency.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this builder.</dd>
+</dl>
+</li>
+</ul>
+<a name="withCnf-java.lang.String...-">
+<!--   -->
+</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.String...&nbsp;pids)</pre>
+<div class="block">Adds multiple configuration dependencies in one single call. All configurations are injected by default in the "updated" callback.</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="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;configType)</pre>
+<div class="block">Adds a configuration dependency using a configuration type. The configuration is injected in an updated callback which takes in argument
+ an implementation of the specified configuration type.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>configType</code> - the configuration type that will be injected to the "updated" callback</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/ConfigurationDependencyBuilder.html" title="interface in org.apache.felix.dm.lambda"><code>ConfigurationDependencyBuilder</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="withBundle-java.util.function.Consumer-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>withBundle</h4>
+<pre><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a>&nbsp;withBundle(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)</pre>
+<div class="block">Adds a bundle dependency.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>consumer</code> - the lambda used to build the bundle dependency.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this builder.</dd>
+</dl>
+</li>
+</ul>
+<a name="withFuture-java.util.concurrent.CompletableFuture-java.util.function.Consumer-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>withFuture</h4>
+<pre>&lt;U&gt;&nbsp;<a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a>&nbsp;withFuture(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)</pre>
+<div class="block">Adds a CompletableFuture dependency.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>U</code> - the type of the result of the CompletableFuture.</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>future</code> - a CompletableFuture on which the dependency will wait for</dd>
+<dd><code>consumer</code> - the builder used to build the dependency</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this builder.</dd>
+</dl>
+</li>
+</ul>
+<a name="withDep-Dependency-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>withDep</h4>
+<pre><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a>&nbsp;withDep(Dependency&nbsp;dependency)</pre>
+<div class="block">Adds a generic Dependency Manager dependency. You can use this method if you want to add a dependency
+ that you have built using the Dependency Manager API, or a specific custom DM dependency (like toggles, etc ...).</div>
+</li>
+</ul>
+<a name="init-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.String&nbsp;callback)</pre>
+<div class="block">Sets the name of the method used as the "init" callback. This method, when found, 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.
+ <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>
+ <li>method()</li>
+ </ol></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>callback</code> - the callback name</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this builder.</dd>
+</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 a callback instance and the name of the method used as the "init" callback. This method, when found, 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.
+ <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>
+ <li>method()</li>
+ </ol></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>callbackInstance</code> - a callback instance object the callback is invoked on</dd>
+<dd><code>callback</code> - the callback name</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this builder.</dd>
+</dl>
+</li>
+</ul>
+<a name="init-org.apache.felix.dm.lambda.callbacks.InstanceCb-">
+<!--   -->
+</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(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/InstanceCb.html" title="interface in org.apache.felix.dm.lambda.callbacks">InstanceCb</a>&nbsp;callback)</pre>
+<div class="block">Sets an Object instance method reference used as the "init" callback. It 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>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>callback</code> - an Object instance method reference. The method does not take any parameters.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this builder</dd>
+</dl>
+</li>
+</ul>
+<a name="init-org.apache.felix.dm.lambda.callbacks.InstanceCbComponent-">
+<!--   -->
+</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(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/InstanceCbComponent.html" title="interface in org.apache.felix.dm.lambda.callbacks">InstanceCbComponent</a>&nbsp;callback)</pre>
+<div class="block">Sets an Object instance method reference used as the "init" callback. It 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>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>callback</code> - an Object instance method reference. 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-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.String&nbsp;callback)</pre>
+<div class="block">Sets a callback instance and 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. <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>
+ <li>method()</li>
+ </ol></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>callback</code> - the callback name</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this builder.</dd>
+</dl>
+</li>
+</ul>

[... 461 lines stripped ...]