You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by bu...@apache.org on 2018/12/26 10:23:29 UTC
svn commit: r1038120 [5/21] - in /websites/staging/felix/trunk/content: ./
apidocs/dependencymanager.lambda/r15/
apidocs/dependencymanager.lambda/r15/org/
apidocs/dependencymanager.lambda/r15/org/apache/
apidocs/dependencymanager.lambda/r15/org/apache/...
Added: websites/staging/felix/trunk/content/apidocs/dependencymanager.lambda/r15/org/apache/felix/dm/lambda/ComponentBuilder.html
==============================================================================
--- websites/staging/felix/trunk/content/apidocs/dependencymanager.lambda/r15/org/apache/felix/dm/lambda/ComponentBuilder.html (added)
+++ websites/staging/felix/trunk/content/apidocs/dependencymanager.lambda/r15/org/apache/felix/dm/lambda/ComponentBuilder.html Wed Dec 26 10:23:28 2018
@@ -0,0 +1,1936 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_191) on Wed Dec 26 11:18:12 CET 2018 -->
+<title>ComponentBuilder</title>
+<meta name="date" content="2018-12-26">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="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":38,"i25":6,"i26":6,"i27":6,"i28":6,"i29":38,"i30":6,"i31":6,"i32":38,"i33":6,"i34":6,"i35":6,"i36":6,"i37":38,"i38":6,"i39":6,"i40":38,"i41":6,"i42":6,"i43":6,"i44":6,"i45":6,"i46":6,"i47":6,"i48":6,"i49":6,"i50":6,"i51":6,"i52":18,"i53":6,"i54":18,"i55":6,"i56":6,"i57":18,"i58":18,"i59":18,"i60":18,"i61":18,"i62":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],16:["t5","Default Methods"],32:["t6","Deprecated 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 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 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 Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary: </li>
+<li>Nested | </li>
+<li>Field | </li>
+<li>Constr | </li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail: </li>
+<li>Field | </li>
+<li>Constr | </li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.felix.dm.lambda</div>
+<h2 title="Interface ComponentBuilder" class="title">Interface ComponentBuilder<B extends ComponentBuilder<B>></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><T>, <a href="../../../../../org/apache/felix/dm/lambda/ServiceAspectBuilder.html" title="interface in org.apache.felix.dm.lambda">ServiceAspectBuilder</a><T></dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">ComponentBuilder<B extends ComponentBuilder<B>></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 -> 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"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd"> </span></span><span id="t5" class="tableTab"><span><a href="javascript:show(16);">Default Methods</a></span><span class="tabEnd"> </span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd"> </span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/lambda/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 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<?> clazz,
+ boolean 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<?> clazz,
+ java.lang.String 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>org.apache.felix.dm.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 instance,
+ java.lang.String 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 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<java.lang.Object[]> 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 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> 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> 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 callbackInstance,
+ java.lang.String 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 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 factory,
+ java.lang.String 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<?> 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<?> factory,
+ java.util.function.Supplier<java.lang.Object[]> 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><U> <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<U> factory,
+ java.util.function.Function<U,?> create,
+ java.util.function.Function<U,java.lang.Object[]> 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><U,V> <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<U> factory,
+ java.util.function.Function<U,V> 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 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> 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> 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 callbackInstance,
+ java.lang.String 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 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-org.apache.felix.dm.ComponentStateListener-">listener</a></span>(org.apache.felix.dm.ComponentStateListener 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<?,?> 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>... properties)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">Fluent properties are only supported using java8 and this method will be removed in next DM release</span></div>
+</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 name,
+ java.lang.Object value,
+ java.lang.Object... 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<?> 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<?>[] 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<?>[] ifaces,
+ java.util.Dictionary<?,?> 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<?>[] ifaces,
+ <a href="../../../../../org/apache/felix/dm/lambda/FluentProperty.html" title="interface in org.apache.felix.dm.lambda">FluentProperty</a>... properties)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">Fluent properties are only supported using java8 and this method will be removed in next DM release</span></div>
+</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<?>[] ifaces,
+ java.lang.String name,
+ java.lang.Object value,
+ java.lang.Object... 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<?> iface,
+ java.util.Dictionary<?,?> 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<?> iface,
+ <a href="../../../../../org/apache/felix/dm/lambda/FluentProperty.html" title="interface in org.apache.felix.dm.lambda">FluentProperty</a>... properties)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">Fluent properties are only supported using java8 and this method will be removed in next DM release</span></div>
+</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<?> iface,
+ java.lang.String name,
+ java.lang.Object value,
+ java.lang.Object... 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 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[] 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[] ifaces,
+ java.util.Dictionary<?,?> 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[] ifaces,
+ <a href="../../../../../org/apache/felix/dm/lambda/FluentProperty.html" title="interface in org.apache.felix.dm.lambda">FluentProperty</a>... properties)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">Fluent properties are only supported using java8 and this method will be removed in next DM release</span></div>
+</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[] ifaces,
+ java.lang.String name,
+ java.lang.Object value,
+ java.lang.Object... 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 iface,
+ java.util.Dictionary<?,?> 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 iface,
+ <a href="../../../../../org/apache/felix/dm/lambda/FluentProperty.html" title="interface in org.apache.felix.dm.lambda">FluentProperty</a>... properties)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">Fluent properties are only supported using java8 and this method will be removed in next DM release</span></div>
+</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 iface,
+ java.lang.String name,
+ java.lang.Object value,
+ java.lang.Object... 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#scope-org.apache.felix.dm.Component.ServiceScope-">scope</a></span>(org.apache.felix.dm.Component.ServiceScope scope)</code>
+<div class="block">Configures the component scope.</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.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> 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-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> callback)</code>
+<div class="block">Sets an Object instance method reference 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.Object-java.lang.String-">start</a></span>(java.lang.Object callbackInstance,
+ java.lang.String callback)</code>
+<div class="block">Sets 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#start-java.lang.String-">start</a></span>(java.lang.String 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="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.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> 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-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> callback)</code>
+<div class="block">Sets an Object instance method reference 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.Object-java.lang.String-">stop</a></span>(java.lang.Object callbackInstance,
+ java.lang.String 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="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#stop-java.lang.String-">stop</a></span>(java.lang.String callback)</code>
+<div class="block">Sets the name of the method used as the "stop" callback.</div>
+</td>
+</tr>
+<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#withBundle-java.util.function.Consumer-">withBundle</a></span>(java.util.function.Consumer<<a href="../../../../../org/apache/felix/dm/lambda/BundleDependencyBuilder.html" title="interface in org.apache.felix.dm.lambda">BundleDependencyBuilder</a>> consumer)</code>
+<div class="block">Adds a bundle dependency.</div>
+</td>
+</tr>
+<tr id="i52" 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<?> configType)</code>
+<div class="block">Adds a configuration dependency using a configuration type.</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#withCnf-java.util.function.Consumer-">withCnf</a></span>(java.util.function.Consumer<<a href="../../../../../org/apache/felix/dm/lambda/ConfigurationDependencyBuilder.html" title="interface in org.apache.felix.dm.lambda">ConfigurationDependencyBuilder</a>> consumer)</code>
+<div class="block">Adds a configuration dependency.</div>
+</td>
+</tr>
+<tr id="i54" 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... pids)</code>
+<div class="block">Adds multiple configuration dependencies in one single call.</div>
+</td>
+</tr>
+<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#withDep-org.apache.felix.dm.Dependency-">withDep</a></span>(org.apache.felix.dm.Dependency dependency)</code>
+<div class="block">Adds a generic Dependency Manager dependency.</div>
+</td>
+</tr>
+<tr id="i56" class="altColor">
+<td class="colFirst"><code><U> <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<U> future,
+ java.util.function.Consumer<<a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="interface in org.apache.felix.dm.lambda">FutureDependencyBuilder</a><U>> consumer)</code>
+<div class="block">Adds a CompletableFuture dependency.</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-boolean-java.lang.Class...-">withSvc</a></span>(boolean required,
+ java.lang.Class<?>... 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...-">withSvc</a></span>(java.lang.Class<?>... services)</code>
+<div class="block">Adds in one shot multiple service dependencies injected in compatible class fields.</div>
+</td>
+</tr>
+<tr id="i59" 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-boolean-">withSvc</a></span>(java.lang.Class<?> service,
+ boolean 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 <T> <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<T> service,
+ java.lang.String filter,
+ boolean required)</code>
+<div class="block">Adds a service dependency injected in compatible class fields.</div>
+</td>
+</tr>
+<tr id="i61" class="rowColor">
+<td class="colFirst"><code>default <T> <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<T> service,
+ java.lang.String filter,
+ java.lang.String field,
+ boolean required)</code>
+<div class="block">Adds a service dependency injected in a given compatible class field.</div>
+</td>
+</tr>
+<tr id="i62" class="altColor">
+<td class="colFirst"><code><U> <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<U> service,
+ java.util.function.Consumer<<a href="../../../../../org/apache/felix/dm/lambda/ServiceDependencyBuilder.html" title="interface in org.apache.felix.dm.lambda">ServiceDependencyBuilder</a><U>> 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="scope-org.apache.felix.dm.Component.ServiceScope-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>scope</h4>
+<pre><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a> scope(org.apache.felix.dm.Component.ServiceScope scope)</pre>
+<div class="block">Configures the component scope.</div>
+</li>
+</ul>
+<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> impl(java.lang.Object 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> factory(java.lang.Object factory,
+ java.lang.String 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> factory(java.util.function.Supplier<?> 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(() -> 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><U,V> <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a> factory(java.util.function.Supplier<U> factory,
+ java.util.function.Function<U,V> 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> factory(java.util.function.Supplier<?> factory,
+ java.util.function.Supplier<java.lang.Object[]> 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><U> <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a> factory(java.util.function.Supplier<U> factory,
+ java.util.function.Function<U,?> create,
+ java.util.function.Function<U,java.lang.Object[]> 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> provides(java.lang.Class<?> 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> provides(java.lang.Class<?> iface,
+ java.lang.String name,
+ java.lang.Object value,
+ java.lang.Object... 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> provides(java.lang.Class<?> iface,
+ <a href="../../../../../org/apache/felix/dm/lambda/FluentProperty.html" title="interface in org.apache.felix.dm.lambda">FluentProperty</a>... properties)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span> <span class="deprecationComment">Fluent properties are only supported using java8 and this method will be removed in next DM release</span></div>
+<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 -> "value1", property2 -> 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> provides(java.lang.Class<?> iface,
+ java.util.Dictionary<?,?> 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> provides(java.lang.Class<?>[] 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> provides(java.lang.Class<?>[] ifaces,
+ java.lang.String name,
+ java.lang.Object value,
+ java.lang.Object... 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> provides(java.lang.Class<?>[] ifaces,
+ <a href="../../../../../org/apache/felix/dm/lambda/FluentProperty.html" title="interface in org.apache.felix.dm.lambda">FluentProperty</a>... properties)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span> <span class="deprecationComment">Fluent properties are only supported using java8 and this method will be removed in next DM release</span></div>
+<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 -> "value1", property2 -> 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> provides(java.lang.Class<?>[] ifaces,
+ java.util.Dictionary<?,?> 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> provides(java.lang.String 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> provides(java.lang.String iface,
+ java.lang.String name,
+ java.lang.Object value,
+ java.lang.Object... 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> provides(java.lang.String iface,
+ <a href="../../../../../org/apache/felix/dm/lambda/FluentProperty.html" title="interface in org.apache.felix.dm.lambda">FluentProperty</a>... properties)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span> <span class="deprecationComment">Fluent properties are only supported using java8 and this method will be removed in next DM release</span></div>
+<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 -> "value1", property2 -> 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> provides(java.lang.String iface,
+ java.util.Dictionary<?,?> 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> provides(java.lang.String[] 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> provides(java.lang.String[] ifaces,
+ java.lang.String name,
+ java.lang.Object value,
+ java.lang.Object... 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> provides(java.lang.String[] ifaces,
+ <a href="../../../../../org/apache/felix/dm/lambda/FluentProperty.html" title="interface in org.apache.felix.dm.lambda">FluentProperty</a>... properties)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span> <span class="deprecationComment">Fluent properties are only supported using java8 and this method will be removed in next DM release</span></div>
+<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 -> "value1", property2 -> 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> provides(java.lang.String[] ifaces,
+ java.util.Dictionary<?,?> 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> properties(java.util.Dictionary<?,?> 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> properties(java.lang.String name,
+ java.lang.Object value,
+ java.lang.Object... 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> properties(<a href="../../../../../org/apache/felix/dm/lambda/FluentProperty.html" title="interface in org.apache.felix.dm.lambda">FluentProperty</a>... properties)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span> <span class="deprecationComment">Fluent properties are only supported using java8 and this method will be removed in next DM release</span></div>
+<div class="block">Sets the components's service properties using List of lamda properties.
+
+ Example:
+
+ <pre> <code>
+ properties(param1 -> "value1, param2 -> 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><U> <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a> withSvc(java.lang.Class<U> service,
+ java.util.function.Consumer<<a href="../../../../../org/apache/felix/dm/lambda/ServiceDependencyBuilder.html" title="interface in org.apache.felix.dm.lambda">ServiceDependencyBuilder</a><U>> 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 <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a> withSvc(java.lang.Class<?>... 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 <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a> withSvc(boolean required,
+ java.lang.Class<?>... 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 <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a> withSvc(java.lang.Class<?> service,
+ boolean 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 <T> <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a> withSvc(java.lang.Class<T> service,
+ java.lang.String filter,
+ boolean 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 <T> <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a> withSvc(java.lang.Class<T> service,
+ java.lang.String filter,
+ java.lang.String field,
+ boolean 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> withCnf(java.util.function.Consumer<<a href="../../../../../org/apache/felix/dm/lambda/ConfigurationDependencyBuilder.html" title="interface in org.apache.felix.dm.lambda">ConfigurationDependencyBuilder</a>> 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 <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a> withCnf(java.lang.String... 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 <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a> withCnf(java.lang.Class<?> 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> withBundle(java.util.function.Consumer<<a href="../../../../../org/apache/felix/dm/lambda/BundleDependencyBuilder.html" title="interface in org.apache.felix.dm.lambda">BundleDependencyBuilder</a>> 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><U> <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a> withFuture(java.util.concurrent.CompletableFuture<U> future,
+ java.util.function.Consumer<<a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="interface in org.apache.felix.dm.lambda">FutureDependencyBuilder</a><U>> 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-org.apache.felix.dm.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> withDep(org.apache.felix.dm.Dependency 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> init(java.lang.String 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> init(java.lang.Object callbackInstance,
+ java.lang.String 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> init(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/InstanceCb.html" title="interface in org.apache.felix.dm.lambda.callbacks">InstanceCb</a> 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
[... 518 lines stripped ...]