<!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_172) on Mon Oct 22 18:39:56 CEST 2018 -->
<title>FactoryPidAdapterBuilder</title>
<meta name="date" content="2018-10-22">
<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="FactoryPidAdapterBuilder";
        }
    }
    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};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract 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/DependencyManagerActivator.html" title="class in org.apache.felix.dm.lambda"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/felix/dm/lambda/FluentProperty.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/FactoryPidAdapterBuilder.html" target="_top">Frames</a></li>
<li><a href="FactoryPidAdapterBuilder.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 FactoryPidAdapterBuilder" class="title">Interface FactoryPidAdapterBuilder</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="interface in org.apache.felix.dm.lambda">ComponentBuilder</a>&lt;<a href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda">FactoryPidAdapterBuilder</a>&gt;</dd>
</dl>
<hr>
<br>
<pre>public interface <span class="typeNameLabel">FactoryPidAdapterBuilder</span>
extends <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="interface in org.apache.felix.dm.lambda">ComponentBuilder</a>&lt;<a href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda">FactoryPidAdapterBuilder</a>&gt;</pre>
<div class="block">Builds a Dependency Manager Factory Configuration Adapter Component. <p> For each new Config Admin factory configuration matching a given factory pid, 
 an adapter will be created based on the adapter implementation class. The adapter will be registered with the specified interface, 
 and with the specified adapter service properties. Depending on the propagate parameter, every public factory configuration properties 
 (which don't start with ".") will be propagated along with the adapter service properties.
 
 This builded supports type safe configuration types. For a given factory configuration, you can specify an interface of your choice,
 and DM will implement it using a dynamic proxy that converts interface methods to lookups in the actual factory configuration dictionary. 
 For more information about configuration types, please refer to <a href="../../../../../org/apache/felix/dm/lambda/ConfigurationDependencyBuilder.html" title="interface in org.apache.felix.dm.lambda"><code>ConfigurationDependencyBuilder</code></a>.
 
 <p> Example that defines a factory configuration adapter service for the "foo.bar" factory pid. For each factory pid instance, 
 an instance of the DictionaryImpl component will be created.
 
 <pre> <code>
 public class Activator extends DependencyManagerActivator {
     public void init(BundleContext ctx, DependencyManager dm) throws Exception { 
         factoryPidAdapter(adapter -&gt; adapter
             .impl(DictionaryImpl.class)
             .factoryPid("foo.bar")
             .update(ServiceImpl::updated)
             .propagate()
             .withSvc(LogService.class, log -&gt; log.optional()));
    }
 }
 </code></pre>
 
 <p> Example that defines a factory configuration adapter using a user defined configuration type
 (the pid is by default assumed to match the fqdn of the configuration type):
 
 <pre> <code>
 
 public interface DictionaryConfiguration {
     public String getLanguage();
     public List&lt;String&gt; getWords();
 }
 
 public class Activator extends DependencyManagerActivator {
     public void init(BundleContext ctx, DependencyManager dm) throws Exception { 
         factoryPidAdapter(adapter -&gt; adapter
             .impl(DictionaryImpl.class)
             .factoryPid("foo.bar")
             .update(DictionaryConfiguration.class, ServiceImpl::updated)
             .propagate()
             .withSvc(LogService.class, log -&gt; log.optional()));
    }
 }
 </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></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/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/FactoryPidAdapterBuilder.html#factoryPid-java.lang.String-">factoryPid</a></span>(java.lang.String&nbsp;pid)</code>
<div class="block">Specifies the factory pid used by the adapter.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><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/FactoryPidAdapterBuilder.html#propagate--">propagate</a></span>()</code>
<div class="block">Specifies if the public properties (not starting with a dot) should be propagated to the adapter service properties (false by default).</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><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/FactoryPidAdapterBuilder.html#propagate-boolean-">propagate</a></span>(boolean&nbsp;propagate)</code>
<div class="block">Specifies if the public properties (not starting with a dot) should be propagated to the adapter service properties (false by default).</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>&lt;T&gt;&nbsp;<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/FactoryPidAdapterBuilder.html#update-org.apache.felix.dm.lambda.callbacks.CbDictionary-">update</a></span>(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/CbDictionary.html" title="interface in org.apache.felix.dm.lambda.callbacks">CbDictionary</a>&lt;T&gt;&nbsp;callback)</code>
<div class="block">Specifies a method reference that will be called on one of the component classes when the configuration is injected.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>&lt;T&gt;&nbsp;<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/FactoryPidAdapterBuilder.html#update-org.apache.felix.dm.lambda.callbacks.CbDictionaryComponent-">update</a></span>(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/CbDictionaryComponent.html" title="interface in org.apache.felix.dm.lambda.callbacks">CbDictionaryComponent</a>&lt;T&gt;&nbsp;callback)</code>
<div class="block">Specifies a method reference that will be called on one of the component classes when the configuration is injected</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><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/FactoryPidAdapterBuilder.html#update-java.lang.Class-java.lang.Object-java.lang.String-">update</a></span>(java.lang.Class&lt;?&gt;&nbsp;configType,
      java.lang.Object&nbsp;callbackInstance,
      java.lang.String&nbsp;updateMethod)</code>
<div class="block">Specifies a callback instance method that will be called on a given object instance when the configuration is injected.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><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/FactoryPidAdapterBuilder.html#update-java.lang.Class-java.lang.String-">update</a></span>(java.lang.Class&lt;?&gt;&nbsp;configType,
      java.lang.String&nbsp;updateMethod)</code>
<div class="block">Sets a callback method to call on the component implementation when the configuration is updated.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>&lt;T&gt;&nbsp;<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/FactoryPidAdapterBuilder.html#update-java.lang.Class-org.apache.felix.dm.lambda.callbacks.InstanceCbConfiguration-">update</a></span>(java.lang.Class&lt;T&gt;&nbsp;configType,
      <a href="../../../../../org/apache/felix/dm/lambda/callbacks/InstanceCbConfiguration.html" title="interface in org.apache.felix.dm.lambda.callbacks">InstanceCbConfiguration</a>&lt;T&gt;&nbsp;callback)</code>
<div class="block">Specifies a method reference that will be called on a given object instance when the configuration is injected.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>&lt;T&gt;&nbsp;<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/FactoryPidAdapterBuilder.html#update-java.lang.Class-org.apache.felix.dm.lambda.callbacks.InstanceCbConfigurationComponent-">update</a></span>(java.lang.Class&lt;T&gt;&nbsp;configType,
      <a href="../../../../../org/apache/felix/dm/lambda/callbacks/InstanceCbConfigurationComponent.html" title="interface in org.apache.felix.dm.lambda.callbacks">InstanceCbConfigurationComponent</a>&lt;T&gt;&nbsp;callback)</code>
<div class="block">Specifies a method reference that will be called on a given object instance when the configuration is injected.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>&lt;T,U&gt;&nbsp;<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/FactoryPidAdapterBuilder.html#update-java.lang.Class-org.apache.felix.dm.lambda.callbacks.CbConfiguration-">update</a></span>(java.lang.Class&lt;U&gt;&nbsp;configType,
      <a href="../../../../../org/apache/felix/dm/lambda/callbacks/CbConfiguration.html" title="interface in org.apache.felix.dm.lambda.callbacks">CbConfiguration</a>&lt;T,U&gt;&nbsp;callback)</code>
<div class="block">Specifies a method reference that will be called on one of the component classes when the configuration is injected.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>&lt;T,U&gt;&nbsp;<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/FactoryPidAdapterBuilder.html#update-java.lang.Class-org.apache.felix.dm.lambda.callbacks.CbConfigurationComponent-">update</a></span>(java.lang.Class&lt;U&gt;&nbsp;configType,
      <a href="../../../../../org/apache/felix/dm/lambda/callbacks/CbConfigurationComponent.html" title="interface in org.apache.felix.dm.lambda.callbacks">CbConfigurationComponent</a>&lt;T,U&gt;&nbsp;callback)</code>
<div class="block">Specifies a method reference that will be called on one of the component classes when the configuration is injected.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code><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/FactoryPidAdapterBuilder.html#update-org.apache.felix.dm.lambda.callbacks.InstanceCbDictionary-">update</a></span>(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/InstanceCbDictionary.html" title="interface in org.apache.felix.dm.lambda.callbacks">InstanceCbDictionary</a>&nbsp;callback)</code>
<div class="block">Specifies a method reference that will be called on a given object instance when the configuration is injected</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code><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/FactoryPidAdapterBuilder.html#update-org.apache.felix.dm.lambda.callbacks.InstanceCbDictionaryComponent-">update</a></span>(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/InstanceCbDictionaryComponent.html" title="interface in org.apache.felix.dm.lambda.callbacks">InstanceCbDictionaryComponent</a>&nbsp;callback)</code>
<div class="block">Specifies a method reference that will be called on a given object instance when the configuration is injected.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code><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/FactoryPidAdapterBuilder.html#update-java.lang.Object-java.lang.String-">update</a></span>(java.lang.Object&nbsp;callbackInstance,
      java.lang.String&nbsp;updateMethod)</code>
<div class="block">Specifies a callback instance method that will be called on a given object instance when the configuration is injected.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code><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/FactoryPidAdapterBuilder.html#update-java.lang.String-">update</a></span>(java.lang.String&nbsp;updateMethod)</code>
<div class="block">Specifies a callback method that will be called on the component implementation when the configuration is injected.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.felix.dm.lambda.ComponentBuilder">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.felix.dm.lambda.<a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html" title="interface in org.apache.felix.dm.lambda">ComponentBuilder</a></h3>
<code><a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#autoAdd-boolean-">autoAdd</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#autoConfig-java.lang.Class-boolean-">autoConfig</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#autoConfig-java.lang.Class-java.lang.String-">autoConfig</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#build--">build</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#composition-java.lang.Object-java.lang.String-">composition</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#composition-java.lang.String-">composition</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#composition-java.util.function.Supplier-">composition</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#debug-java.lang.String-">debug</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#destroy-org.apache.felix.dm.lambda.callbacks.InstanceCb-">destroy</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#destroy-org.apache.felix.dm.lambda.callbacks.InstanceCbComponent-">destroy</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#destroy-java.lang.Object-java.lang.String-">destroy</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#destroy-java.lang.String-">destroy</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#factory-java.lang.Object-java.lang.String-">factory</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#factory-java.util.function.Supplier-">factory</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#factory-java.util.function.Supplier-java.util.function.Supplier-">factory</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#factory-java.util.function.Supplier-java.util.function.Function-java.util.function.Function-">factory</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#factory-java.util.function.Supplier-java.util.function.Function-">factory</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#impl-java.lang.Object-">impl</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#init-org.apache.felix.dm.lambda.callbacks.InstanceCb-">init</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#init-org.apache.felix.dm.lambda.callbacks.InstanceCbComponent-">init</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#init-java.lang.Object-java.lang.String-">init</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#init-java.lang.String-">init</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#listener-ComponentStateListener-">listener</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#properties-java.util.Dictionary-">properties</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#properties-org.apache.felix.dm.lambda.FluentProperty...-">properties</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#properties-java.lang.String-java.lang.Object-java.lang.Object...-">properties</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#provides-java.lang.Class-">provides</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#provides-java.lang.Class:A-">provides</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#provides-java.lang.Class:A-java.util.Dictionary-">provides</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#provides-java.lang.Class:A-org.apache.felix.dm.lambda.FluentProperty...-">provides</a>, <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>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#provides-java.lang.Class-java.util.Dictionary-">provides</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#provides-java.lang.Class-org.apache.felix.dm.lambda.FluentProperty...-">provides</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#provides-java.lang.Class-java.lang.String-java.lang.Object-java.lang.Object...-">provides</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#provides-java.lang.String-">provides</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#provides-java.lang.String:A-">provides</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#provides-java.lang.String:A-java.util.Dictionary-">provides</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#provides-java.lang.String:A-org.apache.felix.dm.lambda.FluentProperty...-">provides</a>, <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>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#provides-java.lang.String-java.util.Dictionary-">provides</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#provides-java.lang.String-org.apache.felix.dm.lambda.FluentProperty...-">provides</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#provides-java.lang.String-java.lang.String-java.lang.Object-java.lang.Object...-">provides</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#scope-ServiceScope-">scope</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#start-org.apache.felix.dm.lambda.callbacks.InstanceCb-">start</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#start-org.apache.felix.dm.lambda.callbacks.InstanceCbComponent-">start</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#start-java.lang.Object-java.lang.String-">start</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#start-java.lang.String-">start</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#stop-org.apache.felix.dm.lambda.callbacks.InstanceCb-">stop</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#stop-org.apache.felix.dm.lambda.callbacks.InstanceCbComponent-">stop</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#stop-java.lang.Object-java.lang.String-">stop</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#stop-java.lang.String-">stop</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#withBundle-java.util.function.Consumer-">withBundle</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#withCnf-java.lang.Class-">withCnf</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#withCnf-java.util.function.Consumer-">withCnf</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#withCnf-java.lang.String...-">withCnf</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#withDep-Dependency-">withDep</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#withFuture-java.util.concurrent.CompletableFuture-java.util.function.Consumer-">withFuture</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#withSvc-boolean-java.lang.Class...-">withSvc</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#withSvc-java.lang.Class...-">withSvc</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#withSvc-java.lang.Class-boolean-">withSvc</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#withSvc-java.lang.Class-java.lang.String-boolean-">withSvc</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#withSvc-java.lang.Class-java.lang.String-java.lang.String-boolean-">withSvc</a>, <a href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#withSvc-java.lang.Class-java.util.function.Consumer-">withSvc</a></code></li>
</ul>
</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="factoryPid-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>factoryPid</h4>
<pre><a href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda">FactoryPidAdapterBuilder</a>&nbsp;factoryPid(java.lang.String&nbsp;pid)</pre>
<div class="block">Specifies the factory pid used by the adapter.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>pid</code> - the factory pid.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this builder</dd>
</dl>
</li>
</ul>
<a name="propagate--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>propagate</h4>
<pre><a href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda">FactoryPidAdapterBuilder</a>&nbsp;propagate()</pre>
<div class="block">Specifies if the public properties (not starting with a dot) should be propagated to the adapter service properties (false by default).</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this builder.</dd>
</dl>
</li>
</ul>
<a name="propagate-boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>propagate</h4>
<pre><a href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda">FactoryPidAdapterBuilder</a>&nbsp;propagate(boolean&nbsp;propagate)</pre>
<div class="block">Specifies if the public properties (not starting with a dot) should be propagated to the adapter service properties (false by default).</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>propagate</code> - true if the public properties should be propagated to the adapter service properties (false by default).</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this builder.</dd>
</dl>
</li>
</ul>
<a name="update-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>update</h4>
<pre><a href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda">FactoryPidAdapterBuilder</a>&nbsp;update(java.lang.String&nbsp;updateMethod)</pre>
<div class="block">Specifies a callback method that will be called on the component implementation when the configuration is injected.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>updateMethod</code> - the method to call on the component implementation when the configuration is available ("updated" by default).
 
 <p>The following method signatures are supported:
 <ol>
 <li> method(Dictionary properties)
 <li> method(Component component, Dictionary properties)
 </ol></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this builder</dd>
</dl>
</li>
</ul>
<a name="update-java.lang.Class-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>update</h4>
<pre><a href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda">FactoryPidAdapterBuilder</a>&nbsp;update(java.lang.Class&lt;?&gt;&nbsp;configType,
                                java.lang.String&nbsp;updateMethod)</pre>
<div class="block">Sets a callback method to call on the component implementation when the configuration is updated. 
 The callback is invoked with a configuration type argument.
 
 <p>The following callback signatures are supported and searched in the following order:
 <ol>
 <li>method(Dictionary)</li>
 <li>method(Component, Dictionary)</li>
 <li>method(Configuration) // same type as the one specified in the "configType" argument</li>
 <li>method(Component, Configuration) // Configuration has the same type as the one specified in the "configType" argument</li>
 </ol></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>configType</code> - the type of a configuration that is passed as argument to the callback</dd>
<dd><code>updateMethod</code> - the callback to call on the component implementation when the configuration is updated.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this builder</dd>
</dl>
</li>
</ul>
<a name="update-java.lang.Object-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>update</h4>
<pre><a href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda">FactoryPidAdapterBuilder</a>&nbsp;update(java.lang.Object&nbsp;callbackInstance,
                                java.lang.String&nbsp;updateMethod)</pre>
<div class="block">Specifies a callback instance method that will be called on a given object instance when the configuration is injected.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>updateMethod</code> - the method to call on the given object instance when the configuration is available ("updated" by default).
 The following method signatures are supported:
 
 <pre> <code>
    method(Dictionary properties)
    method(Component component, Dictionary properties)
 </code></pre></dd>
<dd><code>callbackInstance</code> - the Object instance on which the updated callback will be invoked.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this builder</dd>
</dl>
</li>
</ul>
<a name="update-java.lang.Class-java.lang.Object-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>update</h4>
<pre><a href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda">FactoryPidAdapterBuilder</a>&nbsp;update(java.lang.Class&lt;?&gt;&nbsp;configType,
                                java.lang.Object&nbsp;callbackInstance,
                                java.lang.String&nbsp;updateMethod)</pre>
<div class="block">Specifies a callback instance method that will be called on a given object instance when the configuration is injected.
 The callback is invoked with a configuration type argument.
 
 <p>The following callback signatures are supported and searched in the following order:
 <ol>
 <li>method(Dictionary)</li>
 <li>method(Component, Dictionary)</li>
 <li>method(Configuration) // same type as the one specified in the "configType" argument</li>
 <li>method(Component, Configuration) // Configuration has the same type as the one specified in the "configType" argument</li>
 </ol></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>configType</code> - the type of a configuration that is passed as argument to the callback</dd>
<dd><code>callbackInstance</code> - the Object instance on which the updated callback will be invoked.</dd>
<dd><code>updateMethod</code> - the method to call on the given object instance when the configuration is available. The callback is invoked
 with a configuration type argument (matching the configType you have specified.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this builder</dd>
</dl>
</li>
</ul>
<a name="update-org.apache.felix.dm.lambda.callbacks.CbDictionary-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>update</h4>
<pre>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda">FactoryPidAdapterBuilder</a>&nbsp;update(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/CbDictionary.html" title="interface in org.apache.felix.dm.lambda.callbacks">CbDictionary</a>&lt;T&gt;&nbsp;callback)</pre>
<div class="block">Specifies a method reference that will be called on one of the component classes when the configuration is injected.
 The callback is invoked with a Dictionary argument.</div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - the type of the component implementation class on which the callback is invoked on.</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>callback</code> - the method to call on one of the component classes when the configuration is available.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this builder</dd>
</dl>
</li>
</ul>
<a name="update-java.lang.Class-org.apache.felix.dm.lambda.callbacks.CbConfiguration-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>update</h4>
<pre>&lt;T,U&gt;&nbsp;<a href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda">FactoryPidAdapterBuilder</a>&nbsp;update(java.lang.Class&lt;U&gt;&nbsp;configType,
                                      <a href="../../../../../org/apache/felix/dm/lambda/callbacks/CbConfiguration.html" title="interface in org.apache.felix.dm.lambda.callbacks">CbConfiguration</a>&lt;T,U&gt;&nbsp;callback)</pre>
<div class="block">Specifies a method reference that will be called on one of the component classes when the configuration is injected.
 The callback is invoked with a configuration type argument.</div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - the type of the component implementation class on which the callback is invoked on.</dd>
<dd><code>U</code> - the configuration type accepted by the callback method.</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>configType</code> - the type of a configuration that is passed as argument to the callback</dd>
<dd><code>callback</code> - the method to call on one of the component classes when the configuration is available.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this builder</dd>
</dl>
</li>
</ul>
<a name="update-org.apache.felix.dm.lambda.callbacks.CbDictionaryComponent-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>update</h4>
<pre>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda">FactoryPidAdapterBuilder</a>&nbsp;update(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/CbDictionaryComponent.html" title="interface in org.apache.felix.dm.lambda.callbacks">CbDictionaryComponent</a>&lt;T&gt;&nbsp;callback)</pre>
<div class="block">Specifies a method reference that will be called on one of the component classes when the configuration is injected</div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - the type of the component implementation class on which the callback is invoked on.</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>callback</code> - the reference to a method on one of the component classes. The method may takes as arguments a Dictionary and a Component.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this builder</dd>
</dl>
</li>
</ul>
<a name="update-java.lang.Class-org.apache.felix.dm.lambda.callbacks.CbConfigurationComponent-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>update</h4>
<pre>&lt;T,U&gt;&nbsp;<a href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda">FactoryPidAdapterBuilder</a>&nbsp;update(java.lang.Class&lt;U&gt;&nbsp;configType,
                                      <a href="../../../../../org/apache/felix/dm/lambda/callbacks/CbConfigurationComponent.html" title="interface in org.apache.felix.dm.lambda.callbacks">CbConfigurationComponent</a>&lt;T,U&gt;&nbsp;callback)</pre>
<div class="block">Specifies a method reference that will be called on one of the component classes when the configuration is injected.
 The callback is invoked with the following arguments: a configuration type, and a Component object.</div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - the type of the component implementation class on which the callback is invoked on.</dd>
<dd><code>U</code> - the configuration type accepted by the callback method.</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>configType</code> - the type of a configuration that is passed as argument to the callback</dd>
<dd><code>callback</code> - the reference to a method on one of the component classes. The method may takes as arguments a configuration type and a Component.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this builder</dd>
</dl>
</li>
</ul>
<a name="update-org.apache.felix.dm.lambda.callbacks.InstanceCbDictionary-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>update</h4>
<pre><a href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda">FactoryPidAdapterBuilder</a>&nbsp;update(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/InstanceCbDictionary.html" title="interface in org.apache.felix.dm.lambda.callbacks">InstanceCbDictionary</a>&nbsp;callback)</pre>
<div class="block">Specifies a method reference that will be called on a given object instance when the configuration is injected</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>callback</code> - the method to call on a given object instance when the configuration is available. The callback takes as argument a
 a Dictionary parameter.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this builder</dd>
</dl>
</li>
</ul>
<a name="update-java.lang.Class-org.apache.felix.dm.lambda.callbacks.InstanceCbConfiguration-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>update</h4>
<pre>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda">FactoryPidAdapterBuilder</a>&nbsp;update(java.lang.Class&lt;T&gt;&nbsp;configType,
                                    <a href="../../../../../org/apache/felix/dm/lambda/callbacks/InstanceCbConfiguration.html" title="interface in org.apache.felix.dm.lambda.callbacks">InstanceCbConfiguration</a>&lt;T&gt;&nbsp;callback)</pre>
<div class="block">Specifies a method reference that will be called on a given object instance when the configuration is injected.
 The callback is invoked with a type-safe configuration type argument.</div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - the configuration type accepted by the callback method.</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>configType</code> - the type of a configuration that is passed as argument to the callback</dd>
<dd><code>callback</code> - the method to call on a given object instance when the configuration is available. The callback takes as argument a
 a configuration type parameter.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this builder</dd>
</dl>
</li>
</ul>
<a name="update-org.apache.felix.dm.lambda.callbacks.InstanceCbDictionaryComponent-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>update</h4>
<pre><a href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda">FactoryPidAdapterBuilder</a>&nbsp;update(<a href="../../../../../org/apache/felix/dm/lambda/callbacks/InstanceCbDictionaryComponent.html" title="interface in org.apache.felix.dm.lambda.callbacks">InstanceCbDictionaryComponent</a>&nbsp;callback)</pre>
<div class="block">Specifies a method reference that will be called on a given object instance when the configuration is injected.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>callback</code> - the method to call on a given object instance when the configuration is available. The callback takes as argument a
 Dictionary, and a Component parameter.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this builder</dd>
</dl>
</li>
</ul>
<a name="update-java.lang.Class-org.apache.felix.dm.lambda.callbacks.InstanceCbConfigurationComponent-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>update</h4>
<pre>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html" title="interface in org.apache.felix.dm.lambda">FactoryPidAdapterBuilder</a>&nbsp;update(java.lang.Class&lt;T&gt;&nbsp;configType,
                                    <a href="../../../../../org/apache/felix/dm/lambda/callbacks/InstanceCbConfigurationComponent.html" title="interface in org.apache.felix.dm.lambda.callbacks">InstanceCbConfigurationComponent</a>&lt;T&gt;&nbsp;callback)</pre>
<div class="block">Specifies a method reference that will be called on a given object instance when the configuration is injected.</div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - the configuration type accepted by the callback method.</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>configType</code> - the type of a configuration that is passed as argument to the callback</dd>
<dd><code>callback</code> - the method to call on a given object instance when the configuration is available. The callback takes as arguments a
 configuration type, and a Component parameter.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this builder</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/DependencyManagerActivator.html" title="class in org.apache.felix.dm.lambda"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/felix/dm/lambda/FluentProperty.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/FactoryPidAdapterBuilder.html" target="_top">Frames</a></li>
<li><a href="FactoryPidAdapterBuilder.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>
