You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by bu...@apache.org on 2018/12/23 13:41:38 UTC

svn commit: r1038000 [5/23] - in /websites/staging/felix/trunk/content: ./ apidocs/dependencymanager/r15/ apidocs/dependencymanager/r15/org/ apidocs/dependencymanager/r15/org/apache/ apidocs/dependencymanager/r15/org/apache/felix/ apidocs/dependencyman...

Added: websites/staging/felix/trunk/content/apidocs/dependencymanager/r15/org/apache/felix/dm/BundleComponent.html
==============================================================================
--- websites/staging/felix/trunk/content/apidocs/dependencymanager/r15/org/apache/felix/dm/BundleComponent.html (added)
+++ websites/staging/felix/trunk/content/apidocs/dependencymanager/r15/org/apache/felix/dm/BundleComponent.html Sun Dec 23 13:41:37 2018
@@ -0,0 +1,985 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_191) on Sun Dec 23 12:06:06 CET 2018 -->
+<title>BundleComponent</title>
+<meta name="date" content="2018-12-23">
+<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="BundleComponent";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":6,"i15":6,"i16":6,"i17":6,"i18":6,"i19":6,"i20":6,"i21":6,"i22":6,"i23":6};
+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/AspectComponent.html" title="interface in org.apache.felix.dm"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/felix/dm/BundleDependency.html" title="interface in org.apache.felix.dm"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/felix/dm/BundleComponent.html" target="_top">Frames</a></li>
+<li><a href="BundleComponent.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</div>
+<h2 title="Interface BundleComponent" class="title">Interface BundleComponent</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/Component.html" title="interface in org.apache.felix.dm">Component</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">BundleComponent</span>
+extends <a href="../../../../org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a></pre>
+<div class="block">Interface used to configure the various parameters needed when defining 
+ a Dependency Manager bundle adapter component.
+ 
+ Bundle Adapters, like <a href="../../../../org/apache/felix/dm/AdapterComponent.html" title="interface in org.apache.felix.dm"><code>AdapterComponent</code></a>, are used to "extend" 
+ existing bundles, and can publish an adapter services based on the existing bundle. 
+ An example would be implementing a video player which adapters a resource bundle having 
+ some specific headers. 
+ <p>When you create a bundle adapter component, it will be applied 
+ to any bundle that matches the specified bundle state mask as well as the specified ldap filter
+ used to match the bundle manifest headers. The bundle adapter will be registered 
+ with the specified bundle manifest headers as service properties, plus any extra 
+ properties you suppl. If you declare a bundle field in your bundle adapter class, 
+ it will be injected it will be injected with the original bundle.
+ 
+ <h3>Usage Examples</h3>
+ 
+ Here is a sample showing a VideoPlayer adapter component which plays a video found from 
+ a bundle having a Video-Path manifest header.
+ 
+ <blockquote><pre>
+ <code>
+ public class Activator extends DependencyActivatorBase {
+     &amp;Override
+     public void init(BundleContext context, DependencyManager dm) throws Exception {
+         BundleComponent bundleComponent = createBundleComponent()
+             .setFilter(Bundle.ACTIVE, "(Video-Path=*)")
+             .setInterface(VideoPlayer.class.getName(), null)
+             .setImplementation(VideoPlayerImpl.class);
+         dm.add(bundleComponent);
+     }
+ }
+ 
+ public interface VideoPlayer {
+     void play();
+ }
+ 
+ public class VideoPlayerImpl implements VideoPlayer {
+     volatile Bundle bundle; // injected
+     String path;
+     
+     void start() {
+        path = bundle.getHeaders().get("Video-Path");
+     }
+     
+     void play() {
+         ...
+     }
+ }
+ </code> </pre></blockquote>
+ 
+ <p> When you use callbacks to get injected with the bundle, the "add", "change", "remove" callbacks
+ support the following method signatures:
+ 
+ <pre><code>
+ (Bundle)
+ (Object)
+ (COmponent, Bundle)
+ </code></pre></div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../org/apache/felix/dm/DependencyManager.html#createBundleComponent--"><code>DependencyManager.createBundleComponent()</code></a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.felix.dm.Component">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from interface&nbsp;org.apache.felix.dm.<a href="../../../../org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a></h3>
+<code><a href="../../../../org/apache/felix/dm/Component.ServiceScope.html" title="enum in org.apache.felix.dm">Component.ServiceScope</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="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/BundleComponent.html" title="interface in org.apache.felix.dm">BundleComponent</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/BundleComponent.html#add-org.apache.felix.dm.ComponentStateListener-">add</a></span>(<a href="../../../../org/apache/felix/dm/ComponentStateListener.html" title="interface in org.apache.felix.dm">ComponentStateListener</a>&nbsp;listener)</code>
+<div class="block">Adds a component state listener to this component.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/felix/dm/BundleComponent.html" title="interface in org.apache.felix.dm">BundleComponent</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/BundleComponent.html#add-org.apache.felix.dm.Dependency...-">add</a></span>(<a href="../../../../org/apache/felix/dm/Dependency.html" title="interface in org.apache.felix.dm">Dependency</a>...&nbsp;dependencies)</code>
+<div class="block">Adds dependency(ies) to this component, atomically.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/felix/dm/BundleComponent.html" title="interface in org.apache.felix.dm">BundleComponent</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/BundleComponent.html#remove-org.apache.felix.dm.ComponentStateListener-">remove</a></span>(<a href="../../../../org/apache/felix/dm/ComponentStateListener.html" title="interface in org.apache.felix.dm">ComponentStateListener</a>&nbsp;listener)</code>
+<div class="block">Removes a component state listener from this component.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/felix/dm/BundleComponent.html" title="interface in org.apache.felix.dm">BundleComponent</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/BundleComponent.html#remove-org.apache.felix.dm.Dependency-">remove</a></span>(<a href="../../../../org/apache/felix/dm/Dependency.html" title="interface in org.apache.felix.dm">Dependency</a>&nbsp;d)</code>
+<div class="block">Removes a dependency from the component.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/felix/dm/BundleComponent.html" title="interface in org.apache.felix.dm">BundleComponent</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/BundleComponent.html#setAutoConfig-java.lang.Class-boolean-">setAutoConfig</a></span>(java.lang.Class&lt;?&gt;&nbsp;clazz,
+             boolean&nbsp;autoConfig)</code>
+<div class="block">Configures auto configuration of injected classes in the component instance.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/felix/dm/BundleComponent.html" title="interface in org.apache.felix.dm">BundleComponent</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/BundleComponent.html#setAutoConfig-java.lang.Class-java.lang.String-">setAutoConfig</a></span>(java.lang.Class&lt;?&gt;&nbsp;clazz,
+             java.lang.String&nbsp;instanceName)</code>
+<div class="block">Configures auto configuration of injected classes in the component instance.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/felix/dm/BundleComponent.html" title="interface in org.apache.felix.dm">BundleComponent</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/BundleComponent.html#setBundleCallbackInstance-java.lang.Object-">setBundleCallbackInstance</a></span>(java.lang.Object&nbsp;callbackInstance)</code>
+<div class="block">Sets the instance to invoke the callbacks on (null by default, meaning the callbacks have to be invoked on the adapter itself)</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/felix/dm/BundleComponent.html" title="interface in org.apache.felix.dm">BundleComponent</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/BundleComponent.html#setBundleCallbacks-java.lang.String-java.lang.String-java.lang.String-">setBundleCallbacks</a></span>(java.lang.String&nbsp;add,
+                  java.lang.String&nbsp;change,
+                  java.lang.String&nbsp;remove)</code>
+<div class="block">Sets the callbacks to invoke when injecting the bundle into the adapter component.</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/felix/dm/BundleComponent.html" title="interface in org.apache.felix.dm">BundleComponent</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/BundleComponent.html#setBundleFilter-int-java.lang.String-">setBundleFilter</a></span>(int&nbsp;bundleStateMask,
+               java.lang.String&nbsp;bundleFilter)</code>
+<div class="block">Sets the bundle state mask and bundle manifest headers filter.</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/felix/dm/BundleComponent.html" title="interface in org.apache.felix.dm">BundleComponent</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/BundleComponent.html#setCallbacks-java.lang.Object-java.lang.String-java.lang.String-java.lang.String-java.lang.String-">setCallbacks</a></span>(java.lang.Object&nbsp;instance,
+            java.lang.String&nbsp;init,
+            java.lang.String&nbsp;start,
+            java.lang.String&nbsp;stop,
+            java.lang.String&nbsp;destroy)</code>
+<div class="block">Sets the names of the methods used as callbacks.</div>
+</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/felix/dm/BundleComponent.html" title="interface in org.apache.felix.dm">BundleComponent</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/BundleComponent.html#setCallbacks-java.lang.String-java.lang.String-java.lang.String-java.lang.String-">setCallbacks</a></span>(java.lang.String&nbsp;init,
+            java.lang.String&nbsp;start,
+            java.lang.String&nbsp;stop,
+            java.lang.String&nbsp;destroy)</code>
+<div class="block">Sets the names of the methods used as callbacks.</div>
+</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/felix/dm/BundleComponent.html" title="interface in org.apache.felix.dm">BundleComponent</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/BundleComponent.html#setComposition-java.lang.Object-java.lang.String-">setComposition</a></span>(java.lang.Object&nbsp;instance,
+              java.lang.String&nbsp;getMethod)</code>
+<div class="block">Sets the instance and method to invoke to get back all instances that
+ are part of a composition and need dependencies injected.</div>
+</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/felix/dm/BundleComponent.html" title="interface in org.apache.felix.dm">BundleComponent</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/BundleComponent.html#setComposition-java.lang.String-">setComposition</a></span>(java.lang.String&nbsp;getMethod)</code>
+<div class="block">Sets the method to invoke on the service implementation to get back all
+ instances that are part of a composition and need dependencies injected.</div>
+</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/felix/dm/BundleComponent.html" title="interface in org.apache.felix.dm">BundleComponent</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/BundleComponent.html#setDebug-java.lang.String-">setDebug</a></span>(java.lang.String&nbsp;label)</code>
+<div class="block">Activate debug for this component.</div>
+</td>
+</tr>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/felix/dm/BundleComponent.html" title="interface in org.apache.felix.dm">BundleComponent</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/BundleComponent.html#setFactory-java.lang.Object-java.lang.String-">setFactory</a></span>(java.lang.Object&nbsp;factory,
+          java.lang.String&nbsp;createMethod)</code>
+<div class="block">Sets the factory to use to create the implementation.</div>
+</td>
+</tr>
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/felix/dm/BundleComponent.html" title="interface in org.apache.felix.dm">BundleComponent</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/BundleComponent.html#setFactory-java.lang.String-">setFactory</a></span>(java.lang.String&nbsp;createMethod)</code>
+<div class="block">Sets the factory to use to create the implementation.</div>
+</td>
+</tr>
+<tr id="i16" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/felix/dm/BundleComponent.html" title="interface in org.apache.felix.dm">BundleComponent</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/BundleComponent.html#setImplementation-java.lang.Object-">setImplementation</a></span>(java.lang.Object&nbsp;implementation)</code>
+<div class="block">Sets the implementation for this component.</div>
+</td>
+</tr>
+<tr id="i17" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/felix/dm/BundleComponent.html" title="interface in org.apache.felix.dm">BundleComponent</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/BundleComponent.html#setInterface-java.lang.Class:A-java.util.Dictionary-">setInterface</a></span>(java.lang.Class&lt;?&gt;[]&nbsp;serviceNames,
+            java.util.Dictionary&lt;?,?&gt;&nbsp;properties)</code>
+<div class="block">Sets the public interfaces under which this component should be registered
+ in the OSGi service registry.</div>
+</td>
+</tr>
+<tr id="i18" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/felix/dm/BundleComponent.html" title="interface in org.apache.felix.dm">BundleComponent</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/BundleComponent.html#setInterface-java.lang.Class-java.util.Dictionary-">setInterface</a></span>(java.lang.Class&lt;?&gt;&nbsp;serviceName,
+            java.util.Dictionary&lt;?,?&gt;&nbsp;properties)</code>
+<div class="block">Sets the public interface under which this component should be registered
+ in the OSGi service registry.</div>
+</td>
+</tr>
+<tr id="i19" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/felix/dm/BundleComponent.html" title="interface in org.apache.felix.dm">BundleComponent</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/BundleComponent.html#setInterface-java.lang.String:A-java.util.Dictionary-">setInterface</a></span>(java.lang.String[]&nbsp;serviceNames,
+            java.util.Dictionary&lt;?,?&gt;&nbsp;properties)</code>
+<div class="block">Sets the public interfaces under which this component should be registered
+ in the OSGi service registry.</div>
+</td>
+</tr>
+<tr id="i20" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/felix/dm/BundleComponent.html" title="interface in org.apache.felix.dm">BundleComponent</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/BundleComponent.html#setInterface-java.lang.String-java.util.Dictionary-">setInterface</a></span>(java.lang.String&nbsp;serviceName,
+            java.util.Dictionary&lt;?,?&gt;&nbsp;properties)</code>
+<div class="block">Sets the public interface under which this component should be registered
+ in the OSGi service registry.</div>
+</td>
+</tr>
+<tr id="i21" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/felix/dm/BundleComponent.html" title="interface in org.apache.felix.dm">BundleComponent</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/BundleComponent.html#setPropagate-boolean-">setPropagate</a></span>(boolean&nbsp;propagate)</code>
+<div class="block">Sets if the bundle manifest headers should be propagated to the bundle component adapter service consumer (true by default).</div>
+</td>
+</tr>
+<tr id="i22" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/felix/dm/BundleComponent.html" title="interface in org.apache.felix.dm">BundleComponent</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/BundleComponent.html#setScope-org.apache.felix.dm.Component.ServiceScope-">setScope</a></span>(<a href="../../../../org/apache/felix/dm/Component.ServiceScope.html" title="enum in org.apache.felix.dm">Component.ServiceScope</a>&nbsp;scope)</code>
+<div class="block">Sets the component scope.</div>
+</td>
+</tr>
+<tr id="i23" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/felix/dm/BundleComponent.html" title="interface in org.apache.felix.dm">BundleComponent</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/BundleComponent.html#setServiceProperties-java.util.Dictionary-">setServiceProperties</a></span>(java.util.Dictionary&lt;?,?&gt;&nbsp;serviceProperties)</code>
+<div class="block">Sets the service properties associated with the component.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.felix.dm.Component">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.felix.dm.<a href="../../../../org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a></h3>
+<code><a href="../../../../org/apache/felix/dm/Component.html#getComponentDeclaration--">getComponentDeclaration</a>, <a href="../../../../org/apache/felix/dm/Component.html#getDependencyManager--">getDependencyManager</a>, <a href="../../../../org/apache/felix/dm/Component.html#getInstance--">getInstance</a>, <a href="../../../../org/apache/felix/dm/Component.html#getInstances--">getInstances</a>, <a href="../../../../org/apache/felix/dm/Component.html#getServiceProperties--">getServiceProperties</a>, <a href="../../../../org/apache/felix/dm/Component.html#getServiceRegistration--">getServiceRegistration</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="setScope-org.apache.felix.dm.Component.ServiceScope-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setScope</h4>
+<pre><a href="../../../../org/apache/felix/dm/BundleComponent.html" title="interface in org.apache.felix.dm">BundleComponent</a>&nbsp;setScope(<a href="../../../../org/apache/felix/dm/Component.ServiceScope.html" title="enum in org.apache.felix.dm">Component.ServiceScope</a>&nbsp;scope)</pre>
+<div class="block">Sets the component scope.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/felix/dm/Component.html#setScope-org.apache.felix.dm.Component.ServiceScope-">setScope</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>scope</code> - the component scope (default=SINGLETON)</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this component</dd>
+</dl>
+</li>
+</ul>
+<a name="setImplementation-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setImplementation</h4>
+<pre><a href="../../../../org/apache/felix/dm/BundleComponent.html" title="interface in org.apache.felix.dm">BundleComponent</a>&nbsp;setImplementation(java.lang.Object&nbsp;implementation)</pre>
+<div class="block">Sets the implementation for this component. You can actually specify
+ an instance you have instantiated manually, or a <code>Class</code>
+ that will be instantiated using its default constructor when the
+ required dependencies are resolved, effectively giving you a lazy
+ instantiation mechanism.
+ 
+ There are four special methods that are called when found through
+ reflection to give you life cycle management options:
+ <ol>
+ <li><code>init()</code> is invoked after the instance has been
+ created and dependencies have been resolved, and can be used to
+ initialize the internal state of the instance or even to add more
+ dependencies based on runtime state</li>
+ <li><code>start()</code> is invoked right before the service is 
+ registered</li>
+ <li><code>stop()</code> is invoked right after the service is
+ unregistered</li>
+ <li><code>destroy()</code> is invoked after all dependencies are
+ removed</li>
+ </ol>
+ In short, this allows you to initialize your instance before it is
+ registered, perform some post-initialization and pre-destruction code
+ as well as final cleanup. If a method is not defined, it simply is not
+ called, so you can decide which one(s) you need. If you need even more
+ fine-grained control, you can register as a service state listener too.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/felix/dm/Component.html#setImplementation-java.lang.Object-">setImplementation</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>implementation</code> - the implementation</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this component</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../org/apache/felix/dm/ComponentStateListener.html" title="interface in org.apache.felix.dm"><code>ComponentStateListener</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="add-org.apache.felix.dm.Dependency...-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>add</h4>
+<pre><a href="../../../../org/apache/felix/dm/BundleComponent.html" title="interface in org.apache.felix.dm">BundleComponent</a>&nbsp;add(<a href="../../../../org/apache/felix/dm/Dependency.html" title="interface in org.apache.felix.dm">Dependency</a>...&nbsp;dependencies)</pre>
+<div class="block">Adds dependency(ies) to this component, atomically. If the component is already active or if you add
+ dependencies from the init method, then you should add all the dependencies in one single add method call 
+ (using the varargs argument), because this method may trigger component activation (like
+ the ServiceTracker.open() method does).</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/felix/dm/Component.html#add-org.apache.felix.dm.Dependency...-">add</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>dependencies</code> - the dependencies to add.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this component</dd>
+</dl>
+</li>
+</ul>
+<a name="remove-org.apache.felix.dm.Dependency-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>remove</h4>
+<pre><a href="../../../../org/apache/felix/dm/BundleComponent.html" title="interface in org.apache.felix.dm">BundleComponent</a>&nbsp;remove(<a href="../../../../org/apache/felix/dm/Dependency.html" title="interface in org.apache.felix.dm">Dependency</a>&nbsp;d)</pre>
+<div class="block">Removes a dependency from the component.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/felix/dm/Component.html#remove-org.apache.felix.dm.Dependency-">remove</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>d</code> - the dependency to remove</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this component</dd>
+</dl>
+</li>
+</ul>
+<a name="add-org.apache.felix.dm.ComponentStateListener-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>add</h4>
+<pre><a href="../../../../org/apache/felix/dm/BundleComponent.html" title="interface in org.apache.felix.dm">BundleComponent</a>&nbsp;add(<a href="../../../../org/apache/felix/dm/ComponentStateListener.html" title="interface in org.apache.felix.dm">ComponentStateListener</a>&nbsp;listener)</pre>
+<div class="block">Adds a component state listener to this component.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/felix/dm/Component.html#add-org.apache.felix.dm.ComponentStateListener-">add</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>listener</code> - the state listener</dd>
+</dl>
+</li>
+</ul>
+<a name="remove-org.apache.felix.dm.ComponentStateListener-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>remove</h4>
+<pre><a href="../../../../org/apache/felix/dm/BundleComponent.html" title="interface in org.apache.felix.dm">BundleComponent</a>&nbsp;remove(<a href="../../../../org/apache/felix/dm/ComponentStateListener.html" title="interface in org.apache.felix.dm">ComponentStateListener</a>&nbsp;listener)</pre>
+<div class="block">Removes a component state listener from this component.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/felix/dm/Component.html#remove-org.apache.felix.dm.ComponentStateListener-">remove</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>listener</code> - the state listener</dd>
+</dl>
+</li>
+</ul>
+<a name="setInterface-java.lang.String-java.util.Dictionary-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setInterface</h4>
+<pre><a href="../../../../org/apache/felix/dm/BundleComponent.html" title="interface in org.apache.felix.dm">BundleComponent</a>&nbsp;setInterface(java.lang.String&nbsp;serviceName,
+                             java.util.Dictionary&lt;?,?&gt;&nbsp;properties)</pre>
+<div class="block">Sets the public interface under which this component should be registered
+ in the OSGi service registry.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/felix/dm/Component.html#setInterface-java.lang.String-java.util.Dictionary-">setInterface</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>serviceName</code> - the name of the service interface</dd>
+<dd><code>properties</code> - the properties for this service</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this component</dd>
+</dl>
+</li>
+</ul>
+<a name="setInterface-java.lang.String:A-java.util.Dictionary-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setInterface</h4>
+<pre><a href="../../../../org/apache/felix/dm/BundleComponent.html" title="interface in org.apache.felix.dm">BundleComponent</a>&nbsp;setInterface(java.lang.String[]&nbsp;serviceNames,
+                             java.util.Dictionary&lt;?,?&gt;&nbsp;properties)</pre>
+<div class="block">Sets the public interfaces under which this component should be registered
+ in the OSGi service registry.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/felix/dm/Component.html#setInterface-java.lang.String:A-java.util.Dictionary-">setInterface</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>serviceNames</code> - the names of the service interface</dd>
+<dd><code>properties</code> - the properties for these services</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this component</dd>
+</dl>
+</li>
+</ul>
+<a name="setInterface-java.lang.Class-java.util.Dictionary-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setInterface</h4>
+<pre><a href="../../../../org/apache/felix/dm/BundleComponent.html" title="interface in org.apache.felix.dm">BundleComponent</a>&nbsp;setInterface(java.lang.Class&lt;?&gt;&nbsp;serviceName,
+                             java.util.Dictionary&lt;?,?&gt;&nbsp;properties)</pre>
+<div class="block">Sets the public interface under which this component should be registered
+ in the OSGi service registry.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/felix/dm/Component.html#setInterface-java.lang.Class-java.util.Dictionary-">setInterface</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>serviceName</code> - the name of the service interface</dd>
+<dd><code>properties</code> - the properties for this service</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this component</dd>
+</dl>
+</li>
+</ul>
+<a name="setInterface-java.lang.Class:A-java.util.Dictionary-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setInterface</h4>
+<pre><a href="../../../../org/apache/felix/dm/BundleComponent.html" title="interface in org.apache.felix.dm">BundleComponent</a>&nbsp;setInterface(java.lang.Class&lt;?&gt;[]&nbsp;serviceNames,
+                             java.util.Dictionary&lt;?,?&gt;&nbsp;properties)</pre>
+<div class="block">Sets the public interfaces under which this component should be registered
+ in the OSGi service registry.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/felix/dm/Component.html#setInterface-java.lang.Class:A-java.util.Dictionary-">setInterface</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>serviceNames</code> - the names of the service interface</dd>
+<dd><code>properties</code> - the properties for these services</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this component</dd>
+</dl>
+</li>
+</ul>
+<a name="setAutoConfig-java.lang.Class-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setAutoConfig</h4>
+<pre><a href="../../../../org/apache/felix/dm/BundleComponent.html" title="interface in org.apache.felix.dm">BundleComponent</a>&nbsp;setAutoConfig(java.lang.Class&lt;?&gt;&nbsp;clazz,
+                              boolean&nbsp;autoConfig)</pre>
+<div class="block">Configures auto configuration of injected classes in the component instance.
+ The following injections are currently performed, unless you explicitly
+ turn them off:
+ <dl>
+ <dt>BundleContext</dt><dd>the bundle context of the bundle</dd>
+ <dt>ServiceRegistration</dt><dd>the service registration used to register your service</dd>
+ <dt>DependencyManager</dt><dd>the dependency manager instance</dd>
+ <dt>Component</dt><dd>the component instance of the dependency manager</dd>
+ </dl></div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/felix/dm/Component.html#setAutoConfig-java.lang.Class-boolean-">setAutoConfig</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>clazz</code> - the class (from the list above)</dd>
+<dd><code>autoConfig</code> - <code>false</code> to turn off auto configuration</dd>
+</dl>
+</li>
+</ul>
+<a name="setAutoConfig-java.lang.Class-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setAutoConfig</h4>
+<pre><a href="../../../../org/apache/felix/dm/BundleComponent.html" title="interface in org.apache.felix.dm">BundleComponent</a>&nbsp;setAutoConfig(java.lang.Class&lt;?&gt;&nbsp;clazz,
+                              java.lang.String&nbsp;instanceName)</pre>
+<div class="block">Configures auto configuration of injected classes in the component instance.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/felix/dm/Component.html#setAutoConfig-java.lang.Class-java.lang.String-">setAutoConfig</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>clazz</code> - the class (from the list above)</dd>
+<dd><code>instanceName</code> - the name of the instance to inject the class into</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../org/apache/felix/dm/BundleComponent.html#setAutoConfig-java.lang.Class-boolean-"><code>setAutoConfig(Class, boolean)</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="setServiceProperties-java.util.Dictionary-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setServiceProperties</h4>
+<pre><a href="../../../../org/apache/felix/dm/BundleComponent.html" title="interface in org.apache.felix.dm">BundleComponent</a>&nbsp;setServiceProperties(java.util.Dictionary&lt;?,?&gt;&nbsp;serviceProperties)</pre>
+<div class="block">Sets the service properties associated with the component. If the service
+ was already registered, it will be updated.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/felix/dm/Component.html#setServiceProperties-java.util.Dictionary-">setServiceProperties</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>serviceProperties</code> - the properties</dd>
+</dl>
+</li>
+</ul>
+<a name="setCallbacks-java.lang.String-java.lang.String-java.lang.String-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setCallbacks</h4>
+<pre><a href="../../../../org/apache/felix/dm/BundleComponent.html" title="interface in org.apache.felix.dm">BundleComponent</a>&nbsp;setCallbacks(java.lang.String&nbsp;init,
+                             java.lang.String&nbsp;start,
+                             java.lang.String&nbsp;stop,
+                             java.lang.String&nbsp;destroy)</pre>
+<div class="block">Sets the names of the methods used as callbacks. These methods, when found, are
+ invoked as part of the life cycle management of the component implementation. The
+ dependency manager will look for a method of this name with the following signatures,
+ in this order:
+ <ol>
+ <li>method(Component component)</li>
+ <li>method()</li>
+ </ol></div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/felix/dm/Component.html#setCallbacks-java.lang.String-java.lang.String-java.lang.String-java.lang.String-">setCallbacks</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>init</code> - the name of the init method</dd>
+<dd><code>start</code> - the name of the start method</dd>
+<dd><code>stop</code> - the name of the stop method</dd>
+<dd><code>destroy</code> - the name of the destroy method</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the component</dd>
+</dl>
+</li>
+</ul>
+<a name="setCallbacks-java.lang.Object-java.lang.String-java.lang.String-java.lang.String-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setCallbacks</h4>
+<pre><a href="../../../../org/apache/felix/dm/BundleComponent.html" title="interface in org.apache.felix.dm">BundleComponent</a>&nbsp;setCallbacks(java.lang.Object&nbsp;instance,
+                             java.lang.String&nbsp;init,
+                             java.lang.String&nbsp;start,
+                             java.lang.String&nbsp;stop,
+                             java.lang.String&nbsp;destroy)</pre>
+<div class="block">Sets the names of the methods used as callbacks. These methods, when found, are
+ invoked on the specified instance as part of the life cycle management of the component
+ implementation.
+ <p>
+ See setCallbacks(String init, String start, String stop, String destroy) for more
+ information on the signatures. Specifying an instance means you can create a manager
+ that will be invoked whenever the life cycle of a component changes and this manager
+ can then decide how to expose this life cycle to the actual component, offering an
+ important indirection when developing your own component models.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/felix/dm/Component.html#setCallbacks-java.lang.Object-java.lang.String-java.lang.String-java.lang.String-java.lang.String-">setCallbacks</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this component</dd>
+</dl>
+</li>
+</ul>
+<a name="setFactory-java.lang.Object-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setFactory</h4>
+<pre><a href="../../../../org/apache/felix/dm/BundleComponent.html" title="interface in org.apache.felix.dm">BundleComponent</a>&nbsp;setFactory(java.lang.Object&nbsp;factory,
+                           java.lang.String&nbsp;createMethod)</pre>
+<div class="block">Sets the factory to use to create the implementation. You can specify
+ both the factory class and method to invoke. The method should return
+ the implementation, and can use any method to create it. Actually, this
+ can be used together with <code>setComposition</code> to create a
+ composition of instances that work together to implement a component. The
+ factory itself can also be instantiated lazily by not specifying an
+ instance, but a <code>Class</code>.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/felix/dm/Component.html#setFactory-java.lang.Object-java.lang.String-">setFactory</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>factory</code> - the factory instance or class</dd>
+<dd><code>createMethod</code> - the name of the create method</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this component</dd>
+</dl>
+</li>
+</ul>
+<a name="setFactory-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setFactory</h4>
+<pre><a href="../../../../org/apache/felix/dm/BundleComponent.html" title="interface in org.apache.felix.dm">BundleComponent</a>&nbsp;setFactory(java.lang.String&nbsp;createMethod)</pre>
+<div class="block">Sets the factory to use to create the implementation. You specify the
+ method to invoke. The method should return the implementation, and can
+ use any method to create it. Actually, this can be used together with
+ <code>setComposition</code> to create a composition of instances that
+ work together to implement a component.
+ <p>
+ Note that currently, there is no default for the factory, so please use
+ <code>setFactory(factory, createMethod)</code> instead.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/felix/dm/Component.html#setFactory-java.lang.String-">setFactory</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>createMethod</code> - the name of the create method</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this component</dd>
+</dl>
+</li>
+</ul>
+<a name="setComposition-java.lang.Object-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setComposition</h4>
+<pre><a href="../../../../org/apache/felix/dm/BundleComponent.html" title="interface in org.apache.felix.dm">BundleComponent</a>&nbsp;setComposition(java.lang.Object&nbsp;instance,
+                               java.lang.String&nbsp;getMethod)</pre>
+<div class="block">Sets the instance and method to invoke to get back all instances that
+ are part of a composition and need dependencies injected. All of them
+ will be searched for any of the dependencies. The method that is
+ invoked must return an <code>Object[]</code>.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/felix/dm/Component.html#setComposition-java.lang.Object-java.lang.String-">setComposition</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>instance</code> - the instance that has the method</dd>
+<dd><code>getMethod</code> - the method to invoke</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this component</dd>
+</dl>
+</li>
+</ul>
+<a name="setComposition-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setComposition</h4>
+<pre><a href="../../../../org/apache/felix/dm/BundleComponent.html" title="interface in org.apache.felix.dm">BundleComponent</a>&nbsp;setComposition(java.lang.String&nbsp;getMethod)</pre>
+<div class="block">Sets the method to invoke on the service implementation to get back all
+ instances that are part of a composition and need dependencies injected.
+ All of them will be searched for any of the dependencies. The method that
+ is invoked must return an <code>Object[]</code>.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/felix/dm/Component.html#setComposition-java.lang.String-">setComposition</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>getMethod</code> - the method to invoke</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this component</dd>
+</dl>
+</li>
+</ul>
+<a name="setDebug-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setDebug</h4>
+<pre><a href="../../../../org/apache/felix/dm/BundleComponent.html" title="interface in org.apache.felix.dm">BundleComponent</a>&nbsp;setDebug(java.lang.String&nbsp;label)</pre>
+<div class="block">Activate debug for this component. Informations related to dependency processing will be displayed
+ using osgi log service, our to standard output if no log service is currently available.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/felix/dm/Component.html#setDebug-java.lang.String-">setDebug</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>label</code> - </dd>
+</dl>
+</li>
+</ul>
+<a name="setBundleFilter-int-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setBundleFilter</h4>
+<pre><a href="../../../../org/apache/felix/dm/BundleComponent.html" title="interface in org.apache.felix.dm">BundleComponent</a>&nbsp;setBundleFilter(int&nbsp;bundleStateMask,
+                                java.lang.String&nbsp;bundleFilter)</pre>
+<div class="block">Sets the bundle state mask and bundle manifest headers filter.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>bundleStateMask</code> - the bundle state mask to apply</dd>
+<dd><code>bundleFilter</code> - the filter to apply to the bundle manifest</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this BundleComponent</dd>
+</dl>
+</li>
+</ul>
+<a name="setBundleCallbacks-java.lang.String-java.lang.String-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setBundleCallbacks</h4>
+<pre><a href="../../../../org/apache/felix/dm/BundleComponent.html" title="interface in org.apache.felix.dm">BundleComponent</a>&nbsp;setBundleCallbacks(java.lang.String&nbsp;add,
+                                   java.lang.String&nbsp;change,
+                                   java.lang.String&nbsp;remove)</pre>
+<div class="block">Sets the callbacks to invoke when injecting the bundle into the adapter component.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>add</code> - name of the callback method to invoke on add</dd>
+<dd><code>change</code> - name of the callback method to invoke on change</dd>
+<dd><code>remove</code> - name of the callback method to invoke on remove</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this BundleComponent</dd>
+</dl>
+</li>
+</ul>
+<a name="setBundleCallbackInstance-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setBundleCallbackInstance</h4>
+<pre><a href="../../../../org/apache/felix/dm/BundleComponent.html" title="interface in org.apache.felix.dm">BundleComponent</a>&nbsp;setBundleCallbackInstance(java.lang.Object&nbsp;callbackInstance)</pre>
+<div class="block">Sets the instance to invoke the callbacks on (null by default, meaning the callbacks have to be invoked on the adapter itself)</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>callbackInstance</code> - the instance to invoke the callbacks on (null by default, meaning the callbacks have to be invoked on the adapter itself)</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this BundleComponent</dd>
+</dl>
+</li>
+</ul>
+<a name="setPropagate-boolean-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>setPropagate</h4>
+<pre><a href="../../../../org/apache/felix/dm/BundleComponent.html" title="interface in org.apache.felix.dm">BundleComponent</a>&nbsp;setPropagate(boolean&nbsp;propagate)</pre>
+<div class="block">Sets if the bundle manifest headers should be propagated to the bundle component adapter service consumer (true by default).
+ The component service properties take precedence over the propagated bundle manifest headers.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>propagate</code> - true if the bundle manifest headers should be propagated to the adapter service consumers</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this BundleComponent</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/AspectComponent.html" title="interface in org.apache.felix.dm"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/felix/dm/BundleDependency.html" title="interface in org.apache.felix.dm"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/felix/dm/BundleComponent.html" target="_top">Frames</a></li>
+<li><a href="BundleComponent.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>

Added: websites/staging/felix/trunk/content/apidocs/dependencymanager/r15/org/apache/felix/dm/BundleDependency.html
==============================================================================
--- websites/staging/felix/trunk/content/apidocs/dependencymanager/r15/org/apache/felix/dm/BundleDependency.html (added)
+++ websites/staging/felix/trunk/content/apidocs/dependencymanager/r15/org/apache/felix/dm/BundleDependency.html Sun Dec 23 13:41:37 2018
@@ -0,0 +1,531 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_191) on Sun Dec 23 12:06:06 CET 2018 -->
+<title>BundleDependency</title>
+<meta name="date" content="2018-12-23">
+<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="BundleDependency";
+        }
+    }
+    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};
+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/BundleComponent.html" title="interface in org.apache.felix.dm"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/felix/dm/BundleDependency.html" target="_top">Frames</a></li>
+<li><a href="BundleDependency.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</div>
+<h2 title="Interface BundleDependency" class="title">Interface BundleDependency</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/ComponentDependencyDeclaration.html" title="interface in org.apache.felix.dm">ComponentDependencyDeclaration</a>, <a href="../../../../org/apache/felix/dm/Dependency.html" title="interface in org.apache.felix.dm">Dependency</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">BundleDependency</span>
+extends <a href="../../../../org/apache/felix/dm/Dependency.html" title="interface in org.apache.felix.dm">Dependency</a>, <a href="../../../../org/apache/felix/dm/ComponentDependencyDeclaration.html" title="interface in org.apache.felix.dm">ComponentDependencyDeclaration</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.felix.dm.ComponentDependencyDeclaration">
+<!--   -->
+</a>
+<h3>Fields inherited from interface&nbsp;org.apache.felix.dm.<a href="../../../../org/apache/felix/dm/ComponentDependencyDeclaration.html" title="interface in org.apache.felix.dm">ComponentDependencyDeclaration</a></h3>
+<code><a href="../../../../org/apache/felix/dm/ComponentDependencyDeclaration.html#STATE_AVAILABLE_OPTIONAL">STATE_AVAILABLE_OPTIONAL</a>, <a href="../../../../org/apache/felix/dm/ComponentDependencyDeclaration.html#STATE_AVAILABLE_REQUIRED">STATE_AVAILABLE_REQUIRED</a>, <a href="../../../../org/apache/felix/dm/ComponentDependencyDeclaration.html#STATE_NAMES">STATE_NAMES</a>, <a href="../../../../org/apache/felix/dm/ComponentDependencyDeclaration.html#STATE_OPTIONAL">STATE_OPTIONAL</a>, <a href="../../../../org/apache/felix/dm/ComponentDependencyDeclaration.html#STATE_REQUIRED">STATE_REQUIRED</a>, <a href="../../../../org/apache/felix/dm/ComponentDependencyDeclaration.html#STATE_UNAVAILABLE_OPTIONAL">STATE_UNAVAILABLE_OPTIONAL</a>, <a href="../../../../org/apache/felix/dm/ComponentDependencyDeclaration.html#STATE_UNAVAILABLE_REQUIRED">STATE_UNAVAILABLE_REQUIRED</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="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/BundleDependency.html" title="interface in org.apache.felix.dm">BundleDependency</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/BundleDependency.html#setAutoConfig-boolean-">setAutoConfig</a></span>(boolean&nbsp;autoConfig)</code>
+<div class="block">Enables auto configuration for this dependency.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/felix/dm/BundleDependency.html" title="interface in org.apache.felix.dm">BundleDependency</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/BundleDependency.html#setBundle-Bundle-">setBundle</a></span>(Bundle&nbsp;bundle)</code>
+<div class="block">Sets the bundle to depend on directly.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/felix/dm/BundleDependency.html" title="interface in org.apache.felix.dm">BundleDependency</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/BundleDependency.html#setCallbacks-java.lang.Object-java.lang.String-java.lang.String-">setCallbacks</a></span>(java.lang.Object&nbsp;instance,
+            java.lang.String&nbsp;added,
+            java.lang.String&nbsp;removed)</code>
+<div class="block">Sets the callbacks for this dependency.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/felix/dm/BundleDependency.html" title="interface in org.apache.felix.dm">BundleDependency</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/BundleDependency.html#setCallbacks-java.lang.Object-java.lang.String-java.lang.String-java.lang.String-">setCallbacks</a></span>(java.lang.Object&nbsp;instance,
+            java.lang.String&nbsp;added,
+            java.lang.String&nbsp;changed,
+            java.lang.String&nbsp;removed)</code>
+<div class="block">Sets the callbacks for this dependency.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/felix/dm/BundleDependency.html" title="interface in org.apache.felix.dm">BundleDependency</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/BundleDependency.html#setCallbacks-java.lang.String-java.lang.String-">setCallbacks</a></span>(java.lang.String&nbsp;added,
+            java.lang.String&nbsp;removed)</code>
+<div class="block">Sets the callbacks for this dependency.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/felix/dm/BundleDependency.html" title="interface in org.apache.felix.dm">BundleDependency</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/BundleDependency.html#setCallbacks-java.lang.String-java.lang.String-java.lang.String-">setCallbacks</a></span>(java.lang.String&nbsp;added,
+            java.lang.String&nbsp;changed,
+            java.lang.String&nbsp;removed)</code>
+<div class="block">Sets the callbacks for this dependency.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/felix/dm/BundleDependency.html" title="interface in org.apache.felix.dm">BundleDependency</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/BundleDependency.html#setFilter-java.lang.String-">setFilter</a></span>(java.lang.String&nbsp;filter)</code>
+<div class="block">Sets the filter condition to depend on.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/felix/dm/BundleDependency.html" title="interface in org.apache.felix.dm">BundleDependency</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/BundleDependency.html#setPropagate-boolean-">setPropagate</a></span>(boolean&nbsp;propagate)</code>
+<div class="block">Sets property propagation.</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/felix/dm/BundleDependency.html" title="interface in org.apache.felix.dm">BundleDependency</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/BundleDependency.html#setPropagate-java.lang.Object-java.lang.String-">setPropagate</a></span>(java.lang.Object&nbsp;instance,
+            java.lang.String&nbsp;method)</code>
+<div class="block">Sets an Object instance and a callback method used to propagate some properties to the provided service properties.</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/felix/dm/BundleDependency.html" title="interface in org.apache.felix.dm">BundleDependency</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/BundleDependency.html#setRequired-boolean-">setRequired</a></span>(boolean&nbsp;required)</code>
+<div class="block">Sets the dependency to be required.</div>
+</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/felix/dm/BundleDependency.html" title="interface in org.apache.felix.dm">BundleDependency</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/BundleDependency.html#setStateMask-int-">setStateMask</a></span>(int&nbsp;mask)</code>
+<div class="block">Sets the bundle state mask to depend on.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.felix.dm.Dependency">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.felix.dm.<a href="../../../../org/apache/felix/dm/Dependency.html" title="interface in org.apache.felix.dm">Dependency</a></h3>
+<code><a href="../../../../org/apache/felix/dm/Dependency.html#getAutoConfigName--">getAutoConfigName</a>, <a href="../../../../org/apache/felix/dm/Dependency.html#getProperties--">getProperties</a>, <a href="../../../../org/apache/felix/dm/Dependency.html#isAutoConfig--">isAutoConfig</a>, <a href="../../../../org/apache/felix/dm/Dependency.html#isAvailable--">isAvailable</a>, <a href="../../../../org/apache/felix/dm/Dependency.html#isPropagated--">isPropagated</a>, <a href="../../../../org/apache/felix/dm/Dependency.html#isRequired--">isRequired</a>, <a href="../../../../org/apache/felix/dm/Dependency.html#overrideServiceProperties--">overrideServiceProperties</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.felix.dm.ComponentDependencyDeclaration">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.felix.dm.<a href="../../../../org/apache/felix/dm/ComponentDependencyDeclaration.html" title="interface in org.apache.felix.dm">ComponentDependencyDeclaration</a></h3>
+<code><a href="../../../../org/apache/felix/dm/ComponentDependencyDeclaration.html#getFilter--">getFilter</a>, <a href="../../../../org/apache/felix/dm/ComponentDependencyDeclaration.html#getName--">getName</a>, <a href="../../../../org/apache/felix/dm/ComponentDependencyDeclaration.html#getSimpleName--">getSimpleName</a>, <a href="../../../../org/apache/felix/dm/ComponentDependencyDeclaration.html#getState--">getState</a>, <a href="../../../../org/apache/felix/dm/ComponentDependencyDeclaration.html#getType--">getType</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="setCallbacks-java.lang.String-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setCallbacks</h4>
+<pre><a href="../../../../org/apache/felix/dm/BundleDependency.html" title="interface in org.apache.felix.dm">BundleDependency</a>&nbsp;setCallbacks(java.lang.String&nbsp;added,
+                              java.lang.String&nbsp;removed)</pre>
+<div class="block">Sets the callbacks for this dependency. These callbacks can be used as hooks whenever a dependency is added or removed.
+ When you specify callbacks, the auto configuration feature is automatically turned off, because we're assuming you don't
+ need it in this case.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>added</code> - the method to call when a bundle was added</dd>
+<dd><code>removed</code> - the method to call when a bundle was removed</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the bundle dependency</dd>
+</dl>
+</li>
+</ul>
+<a name="setCallbacks-java.lang.String-java.lang.String-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setCallbacks</h4>
+<pre><a href="../../../../org/apache/felix/dm/BundleDependency.html" title="interface in org.apache.felix.dm">BundleDependency</a>&nbsp;setCallbacks(java.lang.String&nbsp;added,
+                              java.lang.String&nbsp;changed,
+                              java.lang.String&nbsp;removed)</pre>
+<div class="block">Sets the callbacks for this dependency. These callbacks can be used as hooks whenever a dependency is added, changed or
+ removed. When you specify callbacks, the auto configuration feature is automatically turned off, because we're assuming
+ you don't need it in this case.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>added</code> - the method to call when a bundle was added</dd>
+<dd><code>changed</code> - the method to call when a bundle was changed</dd>
+<dd><code>removed</code> - the method to call when a bundle was removed</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the bundle dependency</dd>
+</dl>
+</li>
+</ul>
+<a name="setCallbacks-java.lang.Object-java.lang.String-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setCallbacks</h4>
+<pre><a href="../../../../org/apache/felix/dm/BundleDependency.html" title="interface in org.apache.felix.dm">BundleDependency</a>&nbsp;setCallbacks(java.lang.Object&nbsp;instance,
+                              java.lang.String&nbsp;added,
+                              java.lang.String&nbsp;removed)</pre>
+<div class="block">Sets the callbacks for this dependency. These callbacks can be used as hooks whenever a dependency is added or removed.
+ They are called on the instance you provide. When you specify callbacks, the auto configuration feature is automatically
+ turned off, because we're assuming you don't need it in this case.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>instance</code> - the instance to call the callbacks on</dd>
+<dd><code>added</code> - the method to call when a bundle was added</dd>
+<dd><code>removed</code> - the method to call when a bundle was removed</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the bundle dependency</dd>
+</dl>
+</li>
+</ul>
+<a name="setCallbacks-java.lang.Object-java.lang.String-java.lang.String-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setCallbacks</h4>
+<pre><a href="../../../../org/apache/felix/dm/BundleDependency.html" title="interface in org.apache.felix.dm">BundleDependency</a>&nbsp;setCallbacks(java.lang.Object&nbsp;instance,
+                              java.lang.String&nbsp;added,
+                              java.lang.String&nbsp;changed,
+                              java.lang.String&nbsp;removed)</pre>
+<div class="block">Sets the callbacks for this dependency. These callbacks can be used as hooks whenever a dependency is added, changed or
+ removed. They are called on the instance you provide. When you specify callbacks, the auto configuration feature is
+ automatically turned off, because we're assuming you don't need it in this case.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>instance</code> - the instance to call the callbacks on</dd>
+<dd><code>added</code> - the method to call when a bundle was added</dd>
+<dd><code>changed</code> - the method to call when a bundle was changed</dd>
+<dd><code>removed</code> - the method to call when a bundle was removed</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the bundle dependency</dd>
+</dl>
+</li>
+</ul>
+<a name="setAutoConfig-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setAutoConfig</h4>
+<pre><a href="../../../../org/apache/felix/dm/BundleDependency.html" title="interface in org.apache.felix.dm">BundleDependency</a>&nbsp;setAutoConfig(boolean&nbsp;autoConfig)</pre>
+<div class="block">Enables auto configuration for this dependency. This means the component implementation (composition) will be
+ injected with this bundle dependency automatically.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>autoConfig</code> - <code>true</code> to enable auto configuration</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the bundle dependency</dd>
+</dl>
+</li>
+</ul>
+<a name="setRequired-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setRequired</h4>
+<pre><a href="../../../../org/apache/felix/dm/BundleDependency.html" title="interface in org.apache.felix.dm">BundleDependency</a>&nbsp;setRequired(boolean&nbsp;required)</pre>
+<div class="block">Sets the dependency to be required.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>required</code> - <code>true</code> if this bundle dependency is required</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the bundle dependency</dd>
+</dl>
+</li>
+</ul>
+<a name="setBundle-Bundle-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setBundle</h4>
+<pre><a href="../../../../org/apache/felix/dm/BundleDependency.html" title="interface in org.apache.felix.dm">BundleDependency</a>&nbsp;setBundle(Bundle&nbsp;bundle)</pre>
+<div class="block">Sets the bundle to depend on directly.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>bundle</code> - the bundle to depend on</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the bundle dependency</dd>
+</dl>
+</li>
+</ul>
+<a name="setFilter-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setFilter</h4>
+<pre><a href="../../../../org/apache/felix/dm/BundleDependency.html" title="interface in org.apache.felix.dm">BundleDependency</a>&nbsp;setFilter(java.lang.String&nbsp;filter)
+                    throws java.lang.IllegalArgumentException</pre>
+<div class="block">Sets the filter condition to depend on. Filters are matched against the full manifest of a bundle.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>filter</code> - the filter condition</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the bundle dependency</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code>java.lang.IllegalArgumentException</code> - if the filter is invalid</dd>
+</dl>
+</li>
+</ul>
+<a name="setStateMask-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setStateMask</h4>
+<pre><a href="../../../../org/apache/felix/dm/BundleDependency.html" title="interface in org.apache.felix.dm">BundleDependency</a>&nbsp;setStateMask(int&nbsp;mask)</pre>
+<div class="block">Sets the bundle state mask to depend on. The OSGi BundleTracker explains this mask in more detail, but
+ it is basically a mask with flags for each potential state a bundle can be in.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>mask</code> - the mask to use</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the bundle dependency</dd>
+</dl>
+</li>
+</ul>
+<a name="setPropagate-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setPropagate</h4>
+<pre><a href="../../../../org/apache/felix/dm/BundleDependency.html" title="interface in org.apache.felix.dm">BundleDependency</a>&nbsp;setPropagate(boolean&nbsp;propagate)</pre>
+<div class="block">Sets property propagation. If set to <code>true</code> any bundle manifest properties will be added
+ to the service properties of the component that has this dependency (if it registers as a service).
+ The provided service properties take precedence over the propagated bundle manifest headers. 
+ It means a bundle manifest header won't override a component service property having the same name.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>propagate</code> - <code>true</code> to propagate the bundle manifest properties</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the bundle dependency</dd>
+</dl>
+</li>
+</ul>
+<a name="setPropagate-java.lang.Object-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>setPropagate</h4>
+<pre><a href="../../../../org/apache/felix/dm/BundleDependency.html" title="interface in org.apache.felix.dm">BundleDependency</a>&nbsp;setPropagate(java.lang.Object&nbsp;instance,
+                              java.lang.String&nbsp;method)</pre>
+<div class="block">Sets an Object instance and a callback method used to propagate some properties to the provided service properties.
+ The method will be invoked on the specified object instance and must have one of the following signatures:
+ <ul><li>Dictionary callback(ServiceReference, Object service) 
+ <li>Dictionary callback(ServiceReference)
+ </ul>
+ The provided service properties take precedence over the propagated bundle manifest headers. 
+ It means a bundle manifest header won't override a component service property having the same name.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>instance</code> - the Object instance which is used to retrieve propagated service properties</dd>
+<dd><code>method</code> - the method to invoke for retrieving the properties to be propagated to the service properties.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this service dependency.</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/BundleComponent.html" title="interface in org.apache.felix.dm"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/felix/dm/BundleDependency.html" target="_top">Frames</a></li>
+<li><a href="BundleDependency.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>