<!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_74) on Sun Feb 28 20:11:23 CET 2016 -->
<title>ComponentBuilder</title>
<meta name="date" content="2016-02-28">
<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":18,"i51":6,"i52":18,"i53":6,"i54":18,"i55":18,"i56":18,"i57":18,"i58":18,"i59":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>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&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#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="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-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="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-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="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#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="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: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="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-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="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-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="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-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="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-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="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-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="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-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="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.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="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: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="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-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="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-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="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-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="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-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="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-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="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-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="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#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="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.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="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-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="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.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="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#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="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.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="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-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="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.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="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#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="i50" class="altColor">
<td class="colFirst"><code>default <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#withCnf-java.lang.Class-">withCnf</a></span>(java.lang.Class&lt;?&gt;&nbsp;configType)</code>
<div class="block">Adds a configuration dependency using a configuration type.</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#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="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.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="i53" 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="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#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="i55" 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="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-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="i57" 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="i58" 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="i59" 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="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>
<a name="start-java.lang.Object-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>start</h4>
<pre><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a>&nbsp;start(java.lang.Object&nbsp;callbackInstance,
        java.lang.String&nbsp;callback)</pre>
<div class="block">Sets the name of the 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>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="start-org.apache.felix.dm.lambda.callbacks.InstanceCb-">
<!--   -->
</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(<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 "start" callback. 
 This method is invoked as part of the life cycle management of the component implementation. 
 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="start-org.apache.felix.dm.lambda.callbacks.InstanceCbComponent-">
<!--   -->
</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(<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 "start" callback.
 This method is invoked as part of the life cycle management of the component implementation. 
 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="stop-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>stop</h4>
<pre><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a>&nbsp;stop(java.lang.String&nbsp;callback)</pre>
<div class="block">Sets the name of the method used as the "stop" callback. This method, when found, is
 invoked as part of the life cycle management of the component implementation. <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="stop-java.lang.Object-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>stop</h4>
<pre><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a>&nbsp;stop(java.lang.Object&nbsp;callbackInstance,
       java.lang.String&nbsp;callback)</pre>
<div class="block">Sets a callback instance and the name of the method used as the "stop" callback. This method, when found, is
 invoked as part of the life cycle management of the component implementation. <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="stop-org.apache.felix.dm.lambda.callbacks.InstanceCb-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>stop</h4>
<pre><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a>&nbsp;stop(<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 "stop" 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="stop-org.apache.felix.dm.lambda.callbacks.InstanceCbComponent-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>stop</h4>
<pre><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a>&nbsp;stop(<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 "stop" callback. 
 This method is invoked as part of the life cycle management of the component implementation. 
 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="destroy-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>destroy</h4>
<pre><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a>&nbsp;destroy(java.lang.String&nbsp;callback)</pre>
<div class="block">Sets the name of the method used as the "destroy" callback. This method, when found, is
 invoked as part of the life cycle management of the component implementation. <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="destroy-java.lang.Object-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>destroy</h4>
<pre><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a>&nbsp;destroy(java.lang.Object&nbsp;callbackInstance,
          java.lang.String&nbsp;callback)</pre>
<div class="block">Sets a callback instance and the name of the method used as the "destroy" callback. This method, when found, is
 invoked as part of the life cycle management of the component implementation. <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="destroy-org.apache.felix.dm.lambda.callbacks.InstanceCb-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>destroy</h4>
<pre><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a>&nbsp;destroy(<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 "destroy" 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="destroy-org.apache.felix.dm.lambda.callbacks.InstanceCbComponent-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>destroy</h4>
<pre><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a>&nbsp;destroy(<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 "destroy" callback. 
 This method is invoked as part of the life cycle management of the component implementation. 
 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="autoConfig-java.lang.Class-boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>autoConfig</h4>
<pre><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a>&nbsp;autoConfig(java.lang.Class&lt;?&gt;&nbsp;clazz,
             boolean&nbsp;autoConfig)</pre>
<div class="block">Configures OSGi object (BundleContext, Component, etc ...) that will be injected in any field having the same OSGi object type.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>clazz</code> - the OSGi object type (BundleContext, Component, DependencyManager).</dd>
<dd><code>autoConfig</code> - true if the OSGi object has to be injected, false if not</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this builder</dd>
</dl>
</li>
</ul>
<a name="autoConfig-java.lang.Class-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>autoConfig</h4>
<pre><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a>&nbsp;autoConfig(java.lang.Class&lt;?&gt;&nbsp;clazz,
             java.lang.String&nbsp;field)</pre>
<div class="block">Configures OSGi object (BundleContext, Component, etc ...) that will be injected in a given field.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>clazz</code> - the OSGi object type (BundleContext, Component, DependencyManager).</dd>
<dd><code>field</code> - the field that will be injected with the OSGI object</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this builder</dd>
</dl>
</li>
</ul>
<a name="debug-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>debug</h4>
<pre><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a>&nbsp;debug(java.lang.String&nbsp;label)</pre>
<div class="block">Activates debug mode</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>label</code> - the debug label</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this builder</dd>
</dl>
</li>
</ul>
<a name="autoAdd-boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>autoAdd</h4>
<pre><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a>&nbsp;autoAdd(boolean&nbsp;autoAdd)</pre>
<div class="block">Automatically adds this component to its DependencyManager object. When a lambda builds a Component using this builder, by default
 the built component is auto added to its DependencyManager object, unless you invoke autoAdd(false).</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>autoAdd</code> - true for automatically adding this component to the DependencyManager object, false if not</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this builder</dd>
</dl>
</li>
</ul>
<a name="composition-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>composition</h4>
<pre><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a>&nbsp;composition(java.lang.String&nbsp;getCompositionMethod)</pre>
<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.
 All of them will be searched to inject any of the dependencies. The method that
 is invoked must return an <code>Object[]</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>getCompositionMethod</code> - the method to invoke</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this builder</dd>
</dl>
</li>
</ul>
<a name="composition-java.lang.Object-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>composition</h4>
<pre><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a>&nbsp;composition(java.lang.Object&nbsp;instance,
              java.lang.String&nbsp;getCompositionMethod)</pre>
<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. All of them
 will be searched to inject any of the dependencies. The method that is
 invoked must return an <code>Object[]</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>instance</code> - the instance that has the method</dd>
<dd><code>getCompositionMethod</code> - the method to invoke</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this builder</dd>
</dl>
</li>
</ul>
<a name="composition-java.util.function.Supplier-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>composition</h4>
<pre><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="type parameter in ComponentBuilder">B</a>&nbsp;composition(java.util.function.Supplier&lt;java.lang.Object[]&gt;&nbsp;getCompositionMethod)</pre>
<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.
 All of them will be searched for any of the dependencies. The method that
 is invoked must return an <code>Object[]</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>getCompositionMethod</code> - the method to invoke</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this builder</dd>
</dl>
</li>
</ul>
<a name="build--">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>build</h4>
<pre>org.apache.felix.dm.Component&nbsp;build()</pre>
<div class="block">Builds the real DependencyManager Component.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the real DependencyManager Component.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/felix/dm/lambda/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_bottom">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>
