blob: 36a8b55ae50cc5546833bb71111d5e5eac54665a [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_102) on Tue Feb 14 08:07:55 CET 2017 -->
<title>DependencyManagerActivator</title>
<meta name="date" content="2017-02-14">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="DependencyManagerActivator";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":9,"i3":9,"i4":10,"i5":10,"i6":9,"i7":9,"i8":10,"i9":9,"i10":9,"i11":9,"i12":10,"i13":9,"i14":10,"i15":9,"i16":9,"i17":9,"i18":10,"i19":10,"i20":9,"i21":9,"i22":9,"i23":10,"i24":10,"i25":6,"i26":9,"i27":10,"i28":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete 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/DependencyBuilder.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/FactoryPidAdapterBuilder.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/DependencyManagerActivator.html" target="_top">Frames</a></li>
<li><a href="DependencyManagerActivator.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><a href="#constructor.summary">Constr</a>&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><a href="#constructor.detail">Constr</a>&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="Class DependencyManagerActivator" class="title">Class DependencyManagerActivator</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>org.apache.felix.dm.lambda.DependencyManagerActivator</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd>org.osgi.framework.BundleActivator</dd>
</dl>
<hr>
<br>
<pre>public abstract class <span class="typeNameLabel">DependencyManagerActivator</span>
extends java.lang.Object
implements org.osgi.framework.BundleActivator</pre>
<div class="block">Defines a base for Activators in order to build DependencyManager Components using a java8 style.<p>
Code example using auto configured fields:
<pre> <code>
import org.apache.felix.dm.lambda.DependencyManagerActivator;
public class Activator extends DependencyManagerActivator {
public void init(BundleContext ctx, DependencyManager dm) throws Exception {
component(comp -&gt; comp
.provides(Service.class, property -&gt; "value")
.impl(ServiceImpl.class)
.withSvc(LogService.class, ConfigurationAdmni.class) // both services are required and injected in class fields with compatible types.
}
}
</code></pre>
Code example using reflection callbacks:
<pre> <code>
import org.apache.felix.dm.lambda.DependencyManagerActivator;
public class Activator extends DependencyManagerActivator {
public void init(BundleContext ctx, DependencyManager dm) throws Exception {
component(comp -&gt; comp
.provides(Service.class, property -&gt; "value")
.impl(ServiceImpl.class)
.withSvc(LogService.class, svc -&gt; svc.add("setLog"))
.withSvc(ConfigurationAdmni.class, svc -&gt; svc.add("setConfigAdmin")))
}
}
</code></pre>
Code example using method references:
<pre> <code>
import org.apache.felix.dm.lambda.DependencyManagerActivator;
public class Activator extends DependencyManagerActivator {
public void init(BundleContext ctx, DependencyManager dm) throws Exception {
component(comp -&gt; comp
.provides(Service.class, property -&gt; "value")
.impl(ServiceImpl.class)
.withSvc(LogService.class, svc -&gt; svc.add(ServiceImpl::setLog))
.withSvc(ConfigurationAdmni.class, svc -&gt; svc.add(ServiceImpl::setConfigAdmin)))
}
}
</code></pre>
When a dependency is not explicitly defined as "required" or "optional",
then it is assumed to be optional by default, like it is the case with the original DM API.
You can change the default mode using the "org.apache.felix.dependencymanager.lambda.defaultRequiredDependency system property"
(see Felix dm-lambda online documentation).</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/DependencyManagerActivator.html#DependencyManagerActivator--">DependencyManagerActivator</a></span>()</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== 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="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></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="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete 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>protected &lt;T&gt;&nbsp;<a href="../../../../../org/apache/felix/dm/lambda/ServiceAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda">ServiceAdapterBuilder</a>&lt;T&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/DependencyManagerActivator.html#adapter-java.lang.Class-">adapter</a></span>(java.lang.Class&lt;T&gt;&nbsp;adaptee)</code>
<div class="block">Creates a service Adapter builder that can be used to create a DM Adapter Component.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>protected &lt;T&gt;&nbsp;Component</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/DependencyManagerActivator.html#adapter-java.lang.Class-java.util.function.Consumer-">adapter</a></span>(java.lang.Class&lt;T&gt;&nbsp;adaptee,
java.util.function.Consumer&lt;<a href="../../../../../org/apache/felix/dm/lambda/ServiceAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda">ServiceAdapterBuilder</a>&lt;T&gt;&gt;&nbsp;consumer)</code>
<div class="block">Builds a DM Adapter Component using a Java8 style AdapterBuilder.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/felix/dm/lambda/ServiceAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda">ServiceAdapterBuilder</a>&lt;T&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/DependencyManagerActivator.html#adapter-DependencyManager-java.lang.Class-">adapter</a></span>(DependencyManager&nbsp;dm,
java.lang.Class&lt;T&gt;&nbsp;adaptee)</code>
<div class="block">Creates a service Adapter builder that can be used to create an Adapter Component.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>static &lt;T&gt;&nbsp;Component</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/DependencyManagerActivator.html#adapter-DependencyManager-java.lang.Class-java.util.function.Consumer-">adapter</a></span>(DependencyManager&nbsp;dm,
java.lang.Class&lt;T&gt;&nbsp;adaptee,
java.util.function.Consumer&lt;<a href="../../../../../org/apache/felix/dm/lambda/ServiceAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda">ServiceAdapterBuilder</a>&lt;T&gt;&gt;&nbsp;consumer)</code>
<div class="block">Builds an adapter DM Component.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>protected &lt;T&gt;&nbsp;<a href="../../../../../org/apache/felix/dm/lambda/ServiceAspectBuilder.html" title="interface in org.apache.felix.dm.lambda">ServiceAspectBuilder</a>&lt;T&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/DependencyManagerActivator.html#aspect-java.lang.Class-">aspect</a></span>(java.lang.Class&lt;T&gt;&nbsp;aspectType)</code>
<div class="block">Creates a service Aspect builder that can be used to create a DM Aspect Component.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>protected &lt;T&gt;&nbsp;Component</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/DependencyManagerActivator.html#aspect-java.lang.Class-java.util.function.Consumer-">aspect</a></span>(java.lang.Class&lt;T&gt;&nbsp;aspect,
java.util.function.Consumer&lt;<a href="../../../../../org/apache/felix/dm/lambda/ServiceAspectBuilder.html" title="interface in org.apache.felix.dm.lambda">ServiceAspectBuilder</a>&lt;T&gt;&gt;&nbsp;consumer)</code>
<div class="block">Builds a DM Aspect Component using a Java8 style AspectBuilder.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/felix/dm/lambda/ServiceAspectBuilder.html" title="interface in org.apache.felix.dm.lambda">ServiceAspectBuilder</a>&lt;T&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/DependencyManagerActivator.html#aspect-DependencyManager-java.lang.Class-">aspect</a></span>(DependencyManager&nbsp;dm,
java.lang.Class&lt;T&gt;&nbsp;aspect)</code>
<div class="block">Creates a service Aspect builder that can be used to create an Aspect Component.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>static &lt;T&gt;&nbsp;Component</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/DependencyManagerActivator.html#aspect-DependencyManager-java.lang.Class-java.util.function.Consumer-">aspect</a></span>(DependencyManager&nbsp;dm,
java.lang.Class&lt;T&gt;&nbsp;aspect,
java.util.function.Consumer&lt;<a href="../../../../../org/apache/felix/dm/lambda/ServiceAspectBuilder.html" title="interface in org.apache.felix.dm.lambda">ServiceAspectBuilder</a>&lt;T&gt;&gt;&nbsp;consumer)</code>
<div class="block">Builds an aspect DM Component.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>protected Component</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/DependencyManagerActivator.html#bundleAdapter-java.util.function.Consumer-">bundleAdapter</a></span>(java.util.function.Consumer&lt;<a href="../../../../../org/apache/felix/dm/lambda/BundleAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda">BundleAdapterBuilder</a>&gt;&nbsp;consumer)</code>
<div class="block">Builds a DM Bundle Adapter Component.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/felix/dm/lambda/BundleAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda">BundleAdapterBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/DependencyManagerActivator.html#bundleAdapter-DependencyManager-">bundleAdapter</a></span>(DependencyManager&nbsp;dm)</code>
<div class="block">Creates a bundle adapter builder that can be used to create a DM bundle adapter Component.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>static Component</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/DependencyManagerActivator.html#bundleAdapter-DependencyManager-java.util.function.Consumer-">bundleAdapter</a></span>(DependencyManager&nbsp;dm,
java.util.function.Consumer&lt;<a href="../../../../../org/apache/felix/dm/lambda/BundleAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda">BundleAdapterBuilder</a>&gt;&nbsp;consumer)</code>
<div class="block">Builds a bundle adapter DM Component.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/felix/dm/lambda/BundleDependencyBuilder.html" title="interface in org.apache.felix.dm.lambda">BundleDependencyBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/DependencyManagerActivator.html#bundleDependency-Component-">bundleDependency</a></span>(Component&nbsp;component)</code>
<div class="block">Creates a DM Bundle Dependency builder.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>protected <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="interface in org.apache.felix.dm.lambda">ComponentBuilder</a>&lt;?&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/DependencyManagerActivator.html#component--">component</a></span>()</code>
<div class="block">Creates a Component builder that can be used to create a DM Component.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/DependencyManagerActivator.html#component-Component-java.util.function.Consumer-">component</a></span>(Component&nbsp;comp,
java.util.function.Consumer&lt;<a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="interface in org.apache.felix.dm.lambda">ComponentBuilder</a>&lt;?&gt;&gt;&nbsp;consumer)</code>
<div class="block">Update an existing component.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>protected Component</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/DependencyManagerActivator.html#component-java.util.function.Consumer-">component</a></span>(java.util.function.Consumer&lt;<a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="interface in org.apache.felix.dm.lambda">ComponentBuilder</a>&lt;?&gt;&gt;&nbsp;consumer)</code>
<div class="block">Builds a DM Component using a Java8 style ComponentBuilder.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="interface in org.apache.felix.dm.lambda">ComponentBuilder</a>&lt;?&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/DependencyManagerActivator.html#component-DependencyManager-">component</a></span>(DependencyManager&nbsp;dm)</code>
<div class="block">Creates a Component builder that can be used to create a Component.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>static Component</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/DependencyManagerActivator.html#component-DependencyManager-java.util.function.Consumer-">component</a></span>(DependencyManager&nbsp;dm,
java.util.function.Consumer&lt;<a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="interface in org.apache.felix.dm.lambda">ComponentBuilder</a>&lt;?&gt;&gt;&nbsp;consumer)</code>
<div class="block">Builds a component using a lambda and a component builder</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/felix/dm/lambda/ConfigurationDependencyBuilder.html" title="interface in org.apache.felix.dm.lambda">ConfigurationDependencyBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/DependencyManagerActivator.html#confDependency-Component-">confDependency</a></span>(Component&nbsp;component)</code>
<div class="block">Creates a DM Configuration Dependency builder.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/DependencyManagerActivator.html#destroy--">destroy</a></span>()</code>
<div class="block">Sub classes may override this method that is called when the Activator is stopped.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>protected Component</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/DependencyManagerActivator.html#factoryPidAdapter-java.util.function.Consumer-">factoryPidAdapter</a></span>(java.util.function.Consumer&lt;<a href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda">FactoryPidAdapterBuilder</a>&gt;&nbsp;consumer)</code>
<div class="block">Builds a DM Factory Configuration Adapter Component using a Java8 style FactoryPidAdapterBuilder.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda">FactoryPidAdapterBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/DependencyManagerActivator.html#factoryPidAdapter-DependencyManager-">factoryPidAdapter</a></span>(DependencyManager&nbsp;dm)</code>
<div class="block">Creates a factory pid adapter that can be used to create a factory adapter Component.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>static Component</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/DependencyManagerActivator.html#factoryPidAdapter-DependencyManager-java.util.function.Consumer-">factoryPidAdapter</a></span>(DependencyManager&nbsp;dm,
java.util.function.Consumer&lt;<a href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda">FactoryPidAdapterBuilder</a>&gt;&nbsp;consumer)</code>
<div class="block">Builds a DM factory configuration adapter.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>static &lt;F&gt;&nbsp;<a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="interface in org.apache.felix.dm.lambda">FutureDependencyBuilder</a>&lt;F&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/DependencyManagerActivator.html#futureDependency-Component-java.util.concurrent.CompletableFuture-">futureDependency</a></span>(Component&nbsp;component,
java.util.concurrent.CompletableFuture&lt;F&gt;&nbsp;future)</code>
<div class="block">Creates a DM CompletableFuture Dependency builder.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>org.osgi.framework.BundleContext</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/DependencyManagerActivator.html#getBC--">getBC</a></span>()</code>
<div class="block">Returns the bundle context that is associated with this bundle.</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>DependencyManager</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/DependencyManagerActivator.html#getDM--">getDM</a></span>()</code>
<div class="block">Returns the DependencyManager used to create/managed DM Components.</div>
</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code>protected abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/DependencyManagerActivator.html#init-org.osgi.framework.BundleContext-DependencyManager-">init</a></span>(org.osgi.framework.BundleContext&nbsp;ctx,
DependencyManager&nbsp;dm)</code>
<div class="block">Sub classes must override this method in order to build some DM components.</div>
</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/felix/dm/lambda/ServiceDependencyBuilder.html" title="interface in org.apache.felix.dm.lambda">ServiceDependencyBuilder</a>&lt;T&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/DependencyManagerActivator.html#serviceDependency-Component-java.lang.Class-">serviceDependency</a></span>(Component&nbsp;component,
java.lang.Class&lt;T&gt;&nbsp;service)</code>
<div class="block">Creates a DM ServiceDependency builder.</div>
</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/DependencyManagerActivator.html#start-org.osgi.framework.BundleContext-">start</a></span>(org.osgi.framework.BundleContext&nbsp;context)</code>
<div class="block">Our Activator is starting.</div>
</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/dm/lambda/DependencyManagerActivator.html#stop-org.osgi.framework.BundleContext-">stop</a></span>(org.osgi.framework.BundleContext&nbsp;context)</code>
<div class="block">Our Activator is stopped.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="DependencyManagerActivator--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>DependencyManagerActivator</h4>
<pre>public&nbsp;DependencyManagerActivator()</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="start-org.osgi.framework.BundleContext-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>start</h4>
<pre>public&nbsp;void&nbsp;start(org.osgi.framework.BundleContext&nbsp;context)
throws java.lang.Exception</pre>
<div class="block">Our Activator is starting.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>start</code>&nbsp;in interface&nbsp;<code>org.osgi.framework.BundleActivator</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code></dd>
</dl>
</li>
</ul>
<a name="stop-org.osgi.framework.BundleContext-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>stop</h4>
<pre>public&nbsp;void&nbsp;stop(org.osgi.framework.BundleContext&nbsp;context)
throws java.lang.Exception</pre>
<div class="block">Our Activator is stopped.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>stop</code>&nbsp;in interface&nbsp;<code>org.osgi.framework.BundleActivator</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code></dd>
</dl>
</li>
</ul>
<a name="init-org.osgi.framework.BundleContext-DependencyManager-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>init</h4>
<pre>protected abstract&nbsp;void&nbsp;init(org.osgi.framework.BundleContext&nbsp;ctx,
DependencyManager&nbsp;dm)
throws java.lang.Exception</pre>
<div class="block">Sub classes must override this method in order to build some DM components.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>ctx</code> - the context associated to the bundle</dd>
<dd><code>dm</code> - the DependencyManager assocaited to this activator</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code> - if the activation fails</dd>
</dl>
</li>
</ul>
<a name="destroy--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>destroy</h4>
<pre>protected&nbsp;void&nbsp;destroy()
throws java.lang.Exception</pre>
<div class="block">Sub classes may override this method that is called when the Activator is stopped.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code> - if the deactivation fails</dd>
</dl>
</li>
</ul>
<a name="getDM--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDM</h4>
<pre>public&nbsp;DependencyManager&nbsp;getDM()</pre>
<div class="block">Returns the DependencyManager used to create/managed DM Components.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the DependencyManager associated to this Activator</dd>
</dl>
</li>
</ul>
<a name="getBC--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getBC</h4>
<pre>public&nbsp;org.osgi.framework.BundleContext&nbsp;getBC()</pre>
<div class="block">Returns the bundle context that is associated with this bundle.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the bundle context</dd>
</dl>
</li>
</ul>
<a name="component--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>component</h4>
<pre>protected&nbsp;<a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="interface in org.apache.felix.dm.lambda">ComponentBuilder</a>&lt;?&gt;&nbsp;component()</pre>
<div class="block">Creates a Component builder that can be used to create a DM Component.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a Component builder that can be used to create a DM Component.</dd>
</dl>
</li>
</ul>
<a name="aspect-java.lang.Class-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>aspect</h4>
<pre>protected&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/felix/dm/lambda/ServiceAspectBuilder.html" title="interface in org.apache.felix.dm.lambda">ServiceAspectBuilder</a>&lt;T&gt;&nbsp;aspect(java.lang.Class&lt;T&gt;&nbsp;aspectType)</pre>
<div class="block">Creates a service Aspect builder that can be used to create a DM Aspect Component.</div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - the aspect service type</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>aspectType</code> - the aspect service</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a service Aspect builder.</dd>
</dl>
</li>
</ul>
<a name="adapter-java.lang.Class-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>adapter</h4>
<pre>protected&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/felix/dm/lambda/ServiceAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda">ServiceAdapterBuilder</a>&lt;T&gt;&nbsp;adapter(java.lang.Class&lt;T&gt;&nbsp;adaptee)</pre>
<div class="block">Creates a service Adapter builder that can be used to create a DM Adapter Component.</div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - the adapted service type.</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>adaptee</code> - the adapted service</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a service Adapter builder.</dd>
</dl>
</li>
</ul>
<a name="component-java.util.function.Consumer-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>component</h4>
<pre>protected&nbsp;Component&nbsp;component(java.util.function.Consumer&lt;<a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="interface in org.apache.felix.dm.lambda">ComponentBuilder</a>&lt;?&gt;&gt;&nbsp;consumer)</pre>
<div class="block">Builds a DM Component using a Java8 style ComponentBuilder.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>consumer</code> - the lambda that will use the ComponentBuilder for building the DM component.
The component is auto-added to the DependencyManager, unless the lambda calls the ComponentBuilder.autoAdd(false) method.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a newly built DM component.</dd>
</dl>
</li>
</ul>
<a name="aspect-java.lang.Class-java.util.function.Consumer-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>aspect</h4>
<pre>protected&nbsp;&lt;T&gt;&nbsp;Component&nbsp;aspect(java.lang.Class&lt;T&gt;&nbsp;aspect,
java.util.function.Consumer&lt;<a href="../../../../../org/apache/felix/dm/lambda/ServiceAspectBuilder.html" title="interface in org.apache.felix.dm.lambda">ServiceAspectBuilder</a>&lt;T&gt;&gt;&nbsp;consumer)</pre>
<div class="block">Builds a DM Aspect Component using a Java8 style AspectBuilder.
The component is auto-added to the DependencyManager, unless the lambda calls the AspectBuilder.autoAdd(false) method.</div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - the aspect service type</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>aspect</code> - the aspect service</dd>
<dd><code>consumer</code> - the lambda that will use the AspectBuilder for building the DM aspect component.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the DM component build by the consumer of the aspect builder</dd>
</dl>
</li>
</ul>
<a name="adapter-java.lang.Class-java.util.function.Consumer-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>adapter</h4>
<pre>protected&nbsp;&lt;T&gt;&nbsp;Component&nbsp;adapter(java.lang.Class&lt;T&gt;&nbsp;adaptee,
java.util.function.Consumer&lt;<a href="../../../../../org/apache/felix/dm/lambda/ServiceAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda">ServiceAdapterBuilder</a>&lt;T&gt;&gt;&nbsp;consumer)</pre>
<div class="block">Builds a DM Adapter Component using a Java8 style AdapterBuilder.
The component is auto-added to the DependencyManager, unless the lambda calls the AdapterBuilder.autoAdd(false) method.</div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - the adapted service type</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>adaptee</code> - the adapted service</dd>
<dd><code>consumer</code> - the lambda that will use the AdapterBuilder for building the DM adapter component.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a newly built DM component.</dd>
</dl>
</li>
</ul>
<a name="factoryPidAdapter-java.util.function.Consumer-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>factoryPidAdapter</h4>
<pre>protected&nbsp;Component&nbsp;factoryPidAdapter(java.util.function.Consumer&lt;<a href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda">FactoryPidAdapterBuilder</a>&gt;&nbsp;consumer)</pre>
<div class="block">Builds a DM Factory Configuration Adapter Component using a Java8 style FactoryPidAdapterBuilder.
The component is auto-added to the DependencyManager, unless the lambda calls the FactoryPidAdapterBuilder.autoAdd(false) method.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>consumer</code> - the lambda that will use the FactoryPidAdapterBuilder for building the DM factory configuration adapter component.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a newly built DM component.</dd>
</dl>
</li>
</ul>
<a name="bundleAdapter-java.util.function.Consumer-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>bundleAdapter</h4>
<pre>protected&nbsp;Component&nbsp;bundleAdapter(java.util.function.Consumer&lt;<a href="../../../../../org/apache/felix/dm/lambda/BundleAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda">BundleAdapterBuilder</a>&gt;&nbsp;consumer)</pre>
<div class="block">Builds a DM Bundle Adapter Component.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>consumer</code> - the lambda used to build the actual bundle adapter.
The component is auto-added to the DependencyManager, unless the lambda calls the BundleAdapter.autoAdd(false) method.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a newly built DM component.</dd>
</dl>
</li>
</ul>
<a name="component-DependencyManager-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>component</h4>
<pre>public static&nbsp;<a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="interface in org.apache.felix.dm.lambda">ComponentBuilder</a>&lt;?&gt;&nbsp;component(DependencyManager&nbsp;dm)</pre>
<div class="block">Creates a Component builder that can be used to create a Component.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>dm</code> - the DependencyManager object used to create the component builder</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a Component builder that can be used to create a Component.</dd>
</dl>
</li>
</ul>
<a name="aspect-DependencyManager-java.lang.Class-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>aspect</h4>
<pre>public static&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/felix/dm/lambda/ServiceAspectBuilder.html" title="interface in org.apache.felix.dm.lambda">ServiceAspectBuilder</a>&lt;T&gt;&nbsp;aspect(DependencyManager&nbsp;dm,
java.lang.Class&lt;T&gt;&nbsp;aspect)</pre>
<div class="block">Creates a service Aspect builder that can be used to create an Aspect Component.</div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - the aspect service type</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>dm</code> - the DependencyManager object used to register the built component</dd>
<dd><code>aspect</code> - the type of the aspect service</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a service Aspect builder that can be used to create an Aspect Component.</dd>
</dl>
</li>
</ul>
<a name="adapter-DependencyManager-java.lang.Class-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>adapter</h4>
<pre>public static&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/felix/dm/lambda/ServiceAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda">ServiceAdapterBuilder</a>&lt;T&gt;&nbsp;adapter(DependencyManager&nbsp;dm,
java.lang.Class&lt;T&gt;&nbsp;adaptee)</pre>
<div class="block">Creates a service Adapter builder that can be used to create an Adapter Component.</div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - the adapted service type</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>dm</code> - the DependencyManager object used to register the built component</dd>
<dd><code>adaptee</code> - the type of the adaptee service</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a service Adapter builder that can be used to create an Adapter Component.</dd>
</dl>
</li>
</ul>
<a name="factoryPidAdapter-DependencyManager-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>factoryPidAdapter</h4>
<pre>public static&nbsp;<a href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda">FactoryPidAdapterBuilder</a>&nbsp;factoryPidAdapter(DependencyManager&nbsp;dm)</pre>
<div class="block">Creates a factory pid adapter that can be used to create a factory adapter Component.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>dm</code> - the DependencyManager object used to register the built component</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a factory pid adapter that can be used to create a factory adapter Component.</dd>
</dl>
</li>
</ul>
<a name="bundleAdapter-DependencyManager-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>bundleAdapter</h4>
<pre>public static&nbsp;<a href="../../../../../org/apache/felix/dm/lambda/BundleAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda">BundleAdapterBuilder</a>&nbsp;bundleAdapter(DependencyManager&nbsp;dm)</pre>
<div class="block">Creates a bundle adapter builder that can be used to create a DM bundle adapter Component.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>dm</code> - the DependencyManager object used to create the bundle adapter builder.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a bundle adapter builder that can be used to create a DM bundle adapter Component.</dd>
</dl>
</li>
</ul>
<a name="serviceDependency-Component-java.lang.Class-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>serviceDependency</h4>
<pre>public static&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/felix/dm/lambda/ServiceDependencyBuilder.html" title="interface in org.apache.felix.dm.lambda">ServiceDependencyBuilder</a>&lt;T&gt;&nbsp;serviceDependency(Component&nbsp;component,
java.lang.Class&lt;T&gt;&nbsp;service)</pre>
<div class="block">Creates a DM ServiceDependency builder.</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>component</code> - the component on which you want to build a new service dependency using the returned builder</dd>
<dd><code>service</code> - the service dependency type.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a DM ServiceDependency builder.</dd>
</dl>
</li>
</ul>
<a name="confDependency-Component-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>confDependency</h4>
<pre>public static&nbsp;<a href="../../../../../org/apache/felix/dm/lambda/ConfigurationDependencyBuilder.html" title="interface in org.apache.felix.dm.lambda">ConfigurationDependencyBuilder</a>&nbsp;confDependency(Component&nbsp;component)</pre>
<div class="block">Creates a DM Configuration Dependency builder.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>component</code> - the component on which you want to build a new configuration dependency using the returned builder</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a DM Configuration Dependency builder.</dd>
</dl>
</li>
</ul>
<a name="bundleDependency-Component-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>bundleDependency</h4>
<pre>public static&nbsp;<a href="../../../../../org/apache/felix/dm/lambda/BundleDependencyBuilder.html" title="interface in org.apache.felix.dm.lambda">BundleDependencyBuilder</a>&nbsp;bundleDependency(Component&nbsp;component)</pre>
<div class="block">Creates a DM Bundle Dependency builder.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>component</code> - the component on which you want to build a new bundle dependency using the returned builder</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a DM Configuration Dependency builder.</dd>
</dl>
</li>
</ul>
<a name="futureDependency-Component-java.util.concurrent.CompletableFuture-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>futureDependency</h4>
<pre>public static&nbsp;&lt;F&gt;&nbsp;<a href="../../../../../org/apache/felix/dm/lambda/FutureDependencyBuilder.html" title="interface in org.apache.felix.dm.lambda">FutureDependencyBuilder</a>&lt;F&gt;&nbsp;futureDependency(Component&nbsp;component,
java.util.concurrent.CompletableFuture&lt;F&gt;&nbsp;future)</pre>
<div class="block">Creates a DM CompletableFuture Dependency builder.</div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>F</code> - the type of the CompletableFuture result.</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>component</code> - the component on which you want to build a new completable future dependency using the returned builder.</dd>
<dd><code>future</code> - the future the dependency built using the returned builder will depend on.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a CompletableFuture dependency builder.</dd>
</dl>
</li>
</ul>
<a name="component-DependencyManager-java.util.function.Consumer-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>component</h4>
<pre>public static&nbsp;Component&nbsp;component(DependencyManager&nbsp;dm,
java.util.function.Consumer&lt;<a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="interface in org.apache.felix.dm.lambda">ComponentBuilder</a>&lt;?&gt;&gt;&nbsp;consumer)</pre>
<div class="block">Builds a component using a lambda and a component builder</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>dm</code> - the DependencyManager where the component is auto-added (unless the component.autoAdd(false) is called)</dd>
<dd><code>consumer</code> - a lambda that is called to build the component. When the lambda is called, it will be provided with a
ComponentBuilder object that is used to build the actual DM component.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the built DM component.</dd>
</dl>
</li>
</ul>
<a name="component-Component-java.util.function.Consumer-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>component</h4>
<pre>public static&nbsp;void&nbsp;component(Component&nbsp;comp,
java.util.function.Consumer&lt;<a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="interface in org.apache.felix.dm.lambda">ComponentBuilder</a>&lt;?&gt;&gt;&nbsp;consumer)</pre>
<div class="block">Update an existing component. Typically, this method can be used from a Component.init method, where more dependencies has to be added.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>comp</code> - an existing DM component</dd>
<dd><code>consumer</code> - the lambda that will be used to update the component</dd>
</dl>
</li>
</ul>
<a name="aspect-DependencyManager-java.lang.Class-java.util.function.Consumer-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>aspect</h4>
<pre>public static&nbsp;&lt;T&gt;&nbsp;Component&nbsp;aspect(DependencyManager&nbsp;dm,
java.lang.Class&lt;T&gt;&nbsp;aspect,
java.util.function.Consumer&lt;<a href="../../../../../org/apache/felix/dm/lambda/ServiceAspectBuilder.html" title="interface in org.apache.felix.dm.lambda">ServiceAspectBuilder</a>&lt;T&gt;&gt;&nbsp;consumer)</pre>
<div class="block">Builds an aspect DM Component.</div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - the aspect service type</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>dm</code> - the DependencyManager object used to register the built component</dd>
<dd><code>aspect</code> - the type of the aspect service</dd>
<dd><code>consumer</code> - a lambda used to build the DM aspect component</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a new DM aspect component. The aspect component is auto-added into the dm object, unless the lambda calls
the AspectBuilder.autoAdd(false) method.</dd>
</dl>
</li>
</ul>
<a name="adapter-DependencyManager-java.lang.Class-java.util.function.Consumer-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>adapter</h4>
<pre>public static&nbsp;&lt;T&gt;&nbsp;Component&nbsp;adapter(DependencyManager&nbsp;dm,
java.lang.Class&lt;T&gt;&nbsp;adaptee,
java.util.function.Consumer&lt;<a href="../../../../../org/apache/felix/dm/lambda/ServiceAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda">ServiceAdapterBuilder</a>&lt;T&gt;&gt;&nbsp;consumer)</pre>
<div class="block">Builds an adapter DM Component.</div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - the adapted service type</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>dm</code> - the DependencyManager object used to register the built component</dd>
<dd><code>adaptee</code> - the type of the adapted service</dd>
<dd><code>consumer</code> - a lambda used to build the DM adapter component</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a new DM adapter component. The adapter component is auto-added into the dm object, unless the lambda calls
the AspectBuilder.autoAdd(false) method is called.</dd>
</dl>
</li>
</ul>
<a name="bundleAdapter-DependencyManager-java.util.function.Consumer-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>bundleAdapter</h4>
<pre>public static&nbsp;Component&nbsp;bundleAdapter(DependencyManager&nbsp;dm,
java.util.function.Consumer&lt;<a href="../../../../../org/apache/felix/dm/lambda/BundleAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda">BundleAdapterBuilder</a>&gt;&nbsp;consumer)</pre>
<div class="block">Builds a bundle adapter DM Component.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>dm</code> - the DependencyManager object used to register the built component</dd>
<dd><code>consumer</code> - a lambda used to build the bundle adapter component</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a new bundle adapter component. The adapter component is auto-added into the dm object, unless the lambda calls
the AspectBuilder.autoAdd(false) method is called.</dd>
</dl>
</li>
</ul>
<a name="factoryPidAdapter-DependencyManager-java.util.function.Consumer-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>factoryPidAdapter</h4>
<pre>public static&nbsp;Component&nbsp;factoryPidAdapter(DependencyManager&nbsp;dm,
java.util.function.Consumer&lt;<a href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda">FactoryPidAdapterBuilder</a>&gt;&nbsp;consumer)</pre>
<div class="block">Builds a DM factory configuration adapter.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>dm</code> - the DependencyManager object used to create DM components.</dd>
<dd><code>consumer</code> - a lambda used to build the DM factory configuration adapter component</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a new DM factory configuration adapter component. The adapter component is auto-added into the dm object, unless the lambda calls
the FactoryPidAdapterBuilder.autoAdd(false) method is called</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/DependencyBuilder.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/FactoryPidAdapterBuilder.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/DependencyManagerActivator.html" target="_top">Frames</a></li>
<li><a href="DependencyManagerActivator.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><a href="#constructor.summary">Constr</a>&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><a href="#constructor.detail">Constr</a>&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>