Modified: 
felix/site/trunk/content/apidocs/dependencymanager.lambda/r7/org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html
URL: 
http://svn.apache.org/viewvc/felix/site/trunk/content/apidocs/dependencymanager.lambda/r7/org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html?rev=1731995&r1=1731994&r2=1731995&view=diff
==============================================================================
--- 
felix/site/trunk/content/apidocs/dependencymanager.lambda/r7/org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html
 (original)
+++ 
felix/site/trunk/content/apidocs/dependencymanager.lambda/r7/org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html
 Wed Feb 24 00:11:41 2016
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_72) on Thu Feb 04 08:50:09 CET 2016 -->
+<!-- Generated by javadoc (1.8.0_74) on Wed Feb 24 01:07:32 CET 2016 -->
 <title>FactoryPidAdapterBuilder</title>
-<meta name="date" content="2016-02-04">
+<meta name="date" content="2016-02-24">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" 
title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = 
{"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6};
+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";
@@ -106,21 +106,49 @@ var activeTableTab = "activeTableTab";
 <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. For each new Config Admin factory configuration matching the 
factoryPid, 
+<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.  
+ (which don't start with ".") will be propagated along with the adapter 
service properties.
  
- <p> Example that defines a factory configuration adapter service for the 
"foo.bar" factory pid:
+ 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 activate() throws Exception { 
+     public void init(BundleContext ctx, DependencyManager dm) throws 
Exception { 
          factoryPidAdapter(adapter -&gt; adapter
              .impl(DictionaryImpl.class)
-             .factoryPid("foo.bar").cb(ServiceImpl::updated)
+             .factoryPid("foo.bar")
+             .update(ServiceImpl::updated)
              .propagate()
-             .withSrv(LogService.class, log -&gt; log.optional()));
+             .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>
@@ -143,64 +171,101 @@ extends <a href="../../../../../org/apac
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>&lt;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#cb-org.apache.felix.dm.lambda.callbacks.CbTypeComponentDictionary-">cb</a></span>(<a
 
href="../../../../../org/apache/felix/dm/lambda/callbacks/CbTypeComponentDictionary.html"
 title="interface in 
org.apache.felix.dm.lambda.callbacks">CbTypeComponentDictionary</a>&lt;U&gt;&nbsp;callback)</code>
-<div class="block">Specifies a callback method reference that will be called 
on one of the component classes when the configuration is injected</div>
+<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>&lt;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#cb-org.apache.felix.dm.lambda.callbacks.CbTypeDictionary-">cb</a></span>(<a
 
href="../../../../../org/apache/felix/dm/lambda/callbacks/CbTypeDictionary.html"
 title="interface in 
org.apache.felix.dm.lambda.callbacks">CbTypeDictionary</a>&lt;U&gt;&nbsp;callback)</code>
-<div class="block">Specifies a callback method reference that will be called 
on one of the component classes when the configuration is injected.</div>
+<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#cb-java.lang.Object-java.lang.String-">cb</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 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><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#cb-java.lang.String-">cb</a></span>(java.lang.String&nbsp;updateMethod)</code>
-<div class="block">Specifies a callback method that will be called on the 
component instances when the configuration is injected</div>
+<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><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#cbi-org.apache.felix.dm.lambda.callbacks.CbComponentDictionary-">cbi</a></span>(<a
 
href="../../../../../org/apache/felix/dm/lambda/callbacks/CbComponentDictionary.html"
 title="interface in 
org.apache.felix.dm.lambda.callbacks">CbComponentDictionary</a>&nbsp;callback)</code>
-<div class="block">Specifies a callback instance method reference that will be 
called on a given object instance when the configuration is injected.</div>
+<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#cbi-org.apache.felix.dm.lambda.callbacks.CbDictionary-">cbi</a></span>(<a
 href="../../../../../org/apache/felix/dm/lambda/callbacks/CbDictionary.html" 
title="interface in 
org.apache.felix.dm.lambda.callbacks">CbDictionary</a>&nbsp;callback)</code>
-<div class="block">Specifies a callback instance method reference that will be 
called on a given object instance when the configuration is injected</div>
+<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#factoryPid-java.lang.Class-">factoryPid</a></span>(java.lang.Class&lt;?&gt;&nbsp;pidClass)</code>
-<div class="block">Specifies a class name which fqdn represents the factory 
pid.</div>
+<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><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 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><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 in the adapter service properties (false by 
default).</div>
+<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#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 in the adapter service properties (false by 
default).</div>
+<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>
@@ -209,7 +274,7 @@ extends <a href="../../../../../org/apac
 <!--   -->
 </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/apach
 
e/felix/dm/lambda/ComponentBuilder.html#destroy-org.apache.felix.dm.lambda.callbacks.CbConsumer-">destroy</a>,
 <a 
href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#destroy-org.apache.felix.dm.lambda.callbacks.CbTypeComponent-">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#destroyInstance-org.apache.felix.dm.lambda.callbacks.CbComponent-">destroyInstance</a>,
 <a 
href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#destroyInstance-java.lang.Runnable-">destroyInstance</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.CbConsumer-">init</a>,
 <a 
href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#init-org.apache.felix.dm.lambda.callbacks.CbTypeComponent-">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#initInstance-org.apache.felix.dm.lambda.callbacks.CbComponent-">initInstance</a>,
 <a 
href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#initInstance-java.lang.Runnable-">initInstance</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.l
 ang.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.Fl
 uentProperty...-">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#start-org.apache.felix.dm.lambda.callbacks.CbConsumer-">start</a>,
 <a 
href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#start-org.apache.felix.dm.lambda.callbacks.CbTypeComponent-">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#startInstance-org.apache.felix.dm.lambda.callbacks.CbComponent-">startInstance</a>,
 <a 
href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#startInstance-java.lang.Runnable-">startInstan
 ce</a>, <a 
href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#stop-org.apache.felix.dm.lambda.callbacks.CbConsumer-">stop</a>,
 <a 
href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#stop-org.apache.felix.dm.lambda.callbacks.CbTypeComponent-">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#stopInstance-org.apache.felix.dm.lambda.callbacks.CbComponent-">stopInstance</a>,
 <a 
href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#stopInstance-java.lang.Runnable-">stopInstance</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#withFuture-java.util.concurrent.CompletableFuture-java.util.function.Consumer-">withFuture</a>,
 <a 
href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#withSrv-java.lang.Class...-">withSrv</a>,
 <a 
href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#withSrv-java.lang.Class-java.lang.String-">withSrv</a>,
 <a 
href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#withSrv-java.lang.Class-java.util.function.Consumer-">withSrv</a></code></li>
+<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/apach
 
e/felix/dm/lambda/ComponentBuilder.html#destroy-org.apache.felix.dm.lambda.callbacks.Cb-">destroy</a>,
 <a 
href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#destroy-org.apache.felix.dm.lambda.callbacks.CbComponent-">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#destroyInstance-org.apache.felix.dm.lambda.callbacks.InstanceCb-">destroyInstance</a>,
 <a 
href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#destroyInstance-org.apache.felix.dm.lambda.callbacks.InstanceCbComponent-">destroyInstance</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/Co
 
mponentBuilder.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.Cb-">init</a>,
 <a 
href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#init-org.apache.felix.dm.lambda.callbacks.CbComponent-">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#initInstan
 ce-org.apache.felix.dm.lambda.callbacks.InstanceCb-">initInstance</a>, <a 
href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#initInstance-org.apache.felix.dm.lambda.callbacks.InstanceCbComponent-">initInstance</a>,
 <a 
href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#lifecycleCallbackInstance-java.lang.Object-">lifecycleCallbackInstance</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#p
 rovides-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="../../../../../o
 
rg/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#start-org.apache.felix.dm.lambda.callbacks.Cb-">start</a>,
 <a 
href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#start-org.apache.felix.dm.lambda.callbacks.CbComponent-">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#startInstance-org.apache.felix.dm.lambda.callbacks.InstanceCb-">startInstance</a>,
 <a 
href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#startInstance-org.apache.felix.dm.lambda.callbacks.InstanceCbComponent-">startInstance</a>,
 <a 
href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#stop-org.apache.felix.dm.lambda.callbacks.Cb-">stop</a>,
 <a href="../../../
 
../../org/apache/felix/dm/lambda/ComponentBuilder.html#stop-org.apache.felix.dm.lambda.callbacks.CbComponent-">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#stopInstance-org.apache.felix.dm.lambda.callbacks.InstanceCb-">stopInstance</a>,
 <a 
href="../../../../../org/apache/felix/dm/lambda/ComponentBuilder.html#stopInstance-org.apache.felix.dm.lambda.callbacks.InstanceCbComponent-">stopInstance</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.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#withFutur
 
e-java.util.concurrent.CompletableFuture-java.util.function.Consumer-">withFuture</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-java.lang.String-">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>
@@ -241,83 +306,94 @@ extends <a href="../../../../../org/apac
 </dl>
 </li>
 </ul>
-<a name="factoryPid-java.lang.Class-">
+<a name="propagate--">
 <!--   -->
 </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.Class&lt;?&gt;&nbsp;pidClass)</pre>
-<div class="block">Specifies a class name which fqdn represents the factory 
pid. Usually, this class can optionally be annotated with metatypes bnd 
annotations.</div>
+<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="paramLabel">Parameters:</span></dt>
-<dd><code>pidClass</code> - the class that acts as the factory pid</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
-<dd>this builder</dd>
+<dd>this builder.</dd>
 </dl>
 </li>
 </ul>
-<a name="propagate--">
+<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()</pre>
-<div class="block">Specifies if the public properties (not starting with a 
dot) should be propagated in the adapter service properties (false by 
default).</div>
+<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="propagate-boolean-">
+<a name="update-java.lang.String-">
 <!--   -->
 </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 in the adapter service properties (false by 
default).</div>
+<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>propagate</code> - true if the public properties should be 
propagated in the adapter service properties (false by default).</dd>
+<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>
+<dd>this builder</dd>
 </dl>
 </li>
 </ul>
-<a name="cb-java.lang.String-">
+<a name="update-java.lang.Class-java.lang.String-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>cb</h4>
-<pre><a 
href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html" 
title="interface in 
org.apache.felix.dm.lambda">FactoryPidAdapterBuilder</a>&nbsp;cb(java.lang.String&nbsp;updateMethod)</pre>
-<div class="block">Specifies a callback method that will be called on the 
component instances when the configuration is injected</div>
+<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>updateMethod</code> - the method to call on the component instances 
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>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="cb-java.lang.Object-java.lang.String-">
+<a name="update-java.lang.Object-java.lang.String-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>cb</h4>
-<pre><a 
href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html" 
title="interface in 
org.apache.felix.dm.lambda">FactoryPidAdapterBuilder</a>&nbsp;cb(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>
+<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).
@@ -333,17 +409,48 @@ extends <a href="../../../../../org/apac
 </dl>
 </li>
 </ul>
-<a name="cb-org.apache.felix.dm.lambda.callbacks.CbTypeDictionary-">
+<a name="update-java.lang.Class-java.lang.Object-java.lang.String-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>cb</h4>
-<pre>&lt;U&gt;&nbsp;<a 
href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html" 
title="interface in 
org.apache.felix.dm.lambda">FactoryPidAdapterBuilder</a>&nbsp;cb(<a 
href="../../../../../org/apache/felix/dm/lambda/callbacks/CbTypeDictionary.html"
 title="interface in 
org.apache.felix.dm.lambda.callbacks">CbTypeDictionary</a>&lt;U&gt;&nbsp;callback)</pre>
-<div class="block">Specifies a callback method reference that will be called 
on one of the component classes when the configuration is injected.</div>
+<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>U</code> - the type of the component implementation class on which 
the callback is invoked on.</dd>
+<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>
@@ -351,32 +458,76 @@ extends <a href="../../../../../org/apac
 </dl>
 </li>
 </ul>
-<a name="cb-org.apache.felix.dm.lambda.callbacks.CbTypeComponentDictionary-">
+<a 
name="update-java.lang.Class-org.apache.felix.dm.lambda.callbacks.CbConfiguration-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>cb</h4>
-<pre>&lt;U&gt;&nbsp;<a 
href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html" 
title="interface in 
org.apache.felix.dm.lambda">FactoryPidAdapterBuilder</a>&nbsp;cb(<a 
href="../../../../../org/apache/felix/dm/lambda/callbacks/CbTypeComponentDictionary.html"
 title="interface in 
org.apache.felix.dm.lambda.callbacks">CbTypeComponentDictionary</a>&lt;U&gt;&nbsp;callback)</pre>
-<div class="block">Specifies a callback method reference that will be called 
on one of the component classes when the configuration is injected</div>
+<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>U</code> - the type of the component implementation class on which 
the callback is invoked on.</dd>
+<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>callback</code> - the reference to a method on one of the component 
classes. The method may takes as parameter a Component and a Dictionary.</dd>
+<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="cbi-org.apache.felix.dm.lambda.callbacks.CbDictionary-">
+<a name="update-org.apache.felix.dm.lambda.callbacks.CbDictionaryComponent-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>cbi</h4>
-<pre><a 
href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html" 
title="interface in 
org.apache.felix.dm.lambda">FactoryPidAdapterBuilder</a>&nbsp;cbi(<a 
href="../../../../../org/apache/felix/dm/lambda/callbacks/CbDictionary.html" 
title="interface in 
org.apache.felix.dm.lambda.callbacks">CbDictionary</a>&nbsp;callback)</pre>
-<div class="block">Specifies a callback instance method reference that will be 
called on a given object instance when the configuration is injected</div>
+<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
@@ -386,18 +537,61 @@ extends <a href="../../../../../org/apac
 </dl>
 </li>
 </ul>
-<a name="cbi-org.apache.felix.dm.lambda.callbacks.CbComponentDictionary-">
+<a 
name="update-java.lang.Class-org.apache.felix.dm.lambda.callbacks.InstanceCbConfiguration-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<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>cbi</h4>
-<pre><a 
href="../../../../../org/apache/felix/dm/lambda/FactoryPidAdapterBuilder.html" 
title="interface in 
org.apache.felix.dm.lambda">FactoryPidAdapterBuilder</a>&nbsp;cbi(<a 
href="../../../../../org/apache/felix/dm/lambda/callbacks/CbComponentDictionary.html"
 title="interface in 
org.apache.felix.dm.lambda.callbacks">CbComponentDictionary</a>&nbsp;callback)</pre>
-<div class="block">Specifies a callback instance method reference that will be 
called on a given object instance when the configuration is injected.</div>
+<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 parameter.</dd>
+ 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>

Modified: 
felix/site/trunk/content/apidocs/dependencymanager.lambda/r7/org/apache/felix/dm/lambda/FluentProperty.html
URL: 
http://svn.apache.org/viewvc/felix/site/trunk/content/apidocs/dependencymanager.lambda/r7/org/apache/felix/dm/lambda/FluentProperty.html?rev=1731995&r1=1731994&r2=1731995&view=diff
==============================================================================
--- 
felix/site/trunk/content/apidocs/dependencymanager.lambda/r7/org/apache/felix/dm/lambda/FluentProperty.html
 (original)
+++ 
felix/site/trunk/content/apidocs/dependencymanager.lambda/r7/org/apache/felix/dm/lambda/FluentProperty.html
 Wed Feb 24 00:11:41 2016
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_72) on Thu Feb 04 08:50:10 CET 2016 -->
+<!-- Generated by javadoc (1.8.0_74) on Wed Feb 24 01:07:32 CET 2016 -->
 <title>FluentProperty</title>
-<meta name="date" content="2016-02-04">
+<meta name="date" content="2016-02-24">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" 
title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -113,11 +113,11 @@ public interface <span class="typeNameLa
 extends <a 
href="../../../../../org/apache/felix/dm/lambda/callbacks/SerializableLambda.html"
 title="interface in 
org.apache.felix.dm.lambda.callbacks">SerializableLambda</a></pre>
 <div class="block">Lambda allowing to define fluent service properties. 
Property names are deduces from the lambda parameter name.
  
- <p> Example of a component which provides fluent properties ("foo=bar"; 
"foo2=Integer(123)):
+ <p> Example of a component which provides fluent properties {"foo"="bar"; 
"foo2"=Integer(123)}:
  
  <pre><code>
  public class Activator extends DependencyManagerActivator {
-   public void activate() throws Exception {
+   public void init(BundleContext ctx, DependencyManager dm) throws Exception {
        component(comp -&gt; 
comp.impl(MyComponentImpl.class).provides(MyService.class, foo-&gt;"bar", foo2 
-&gt; 123));
    }
  } 


Reply via email to