blob: b04e9a518b2c90144dc269e8047e6cbed6ac8212 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (version 1.7.0_67) on Fri Mar 06 23:13:13 CET 2015 -->
<title>DependencyManager</title>
<meta name="date" content="2015-03-06">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="DependencyManager";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!-- -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><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/DependencyActivatorBase.html" title="class in org.apache.felix.dm"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../org/apache/felix/dm/FilterIndex.html" title="interface in org.apache.felix.dm"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/felix/dm/DependencyManager.html" target="_top">Frames</a></li>
<li><a href="DependencyManager.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">All 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><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.felix.dm</div>
<h2 title="Class DependencyManager" class="title">Class DependencyManager</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>org.apache.felix.dm.DependencyManager</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public class <span class="strong">DependencyManager</span>
extends java.lang.Object</pre>
<div class="block">The dependency manager manages all components and their dependencies. Using
this API you can declare all components and their dependencies. Under normal
circumstances, you get passed an instance of this class through the
<code>DependencyActivatorBase</code> subclass you use as your
<code>BundleActivator</code>, but it is also possible to create your
own instance.</div>
</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>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/dm/DependencyManager.html#ASPECT">ASPECT</a></strong></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/dm/DependencyManager.html#METHOD_CACHE_SIZE">METHOD_CACHE_SIZE</a></strong></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/dm/DependencyManager.html#PARALLEL">PARALLEL</a></strong></code>
<div class="block">The DependencyManager Activator will wait for a threadpool before creating any DM components if the following
OSGi system property is set to true.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/dm/DependencyManager.html#SERVICEREGISTRY_CACHE_INDICES">SERVICEREGISTRY_CACHE_INDICES</a></strong></code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../org/apache/felix/dm/DependencyManager.html#DependencyManager(org.osgi.framework.BundleContext)">DependencyManager</a></strong>(org.osgi.framework.BundleContext&nbsp;context)</code>
<div class="block">Creates a new dependency manager.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/dm/DependencyManager.html#add(org.apache.felix.dm.Component)">add</a></strong>(<a href="../../../../org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a>&nbsp;c)</code>
<div class="block">Adds a new component to the dependency manager.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/dm/DependencyManager.html#clear()">clear</a></strong>()</code>
<div class="block">Removes all components and their dependencies.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/dm/DependencyManager.html#createAdapterFactoryConfigurationService(java.lang.String,%20java.lang.String,%20boolean,%20java.lang.String,%20java.lang.String,%20java.lang.String,%20org.apache.felix.dm.PropertyMetaData[])">createAdapterFactoryConfigurationService</a></strong>(java.lang.String&nbsp;factoryPid,
java.lang.String&nbsp;update,
boolean&nbsp;propagate,
java.lang.String&nbsp;heading,
java.lang.String&nbsp;desc,
java.lang.String&nbsp;localization,
<a href="../../../../org/apache/felix/dm/PropertyMetaData.html" title="interface in org.apache.felix.dm">PropertyMetaData</a>[]&nbsp;propertiesMetaData)</code>
<div class="block">Creates a new Managed Service Factory Configuration Adapter with meta type support.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/dm/DependencyManager.html#createAdapterService(java.lang.Class,%20java.lang.String)">createAdapterService</a></strong>(java.lang.Class&lt;?&gt;&nbsp;serviceInterface,
java.lang.String&nbsp;serviceFilter)</code>
<div class="block">Creates a new adapter.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/dm/DependencyManager.html#createAdapterService(java.lang.Class,%20java.lang.String,%20java.lang.String)">createAdapterService</a></strong>(java.lang.Class&lt;?&gt;&nbsp;serviceInterface,
java.lang.String&nbsp;serviceFilter,
java.lang.String&nbsp;autoConfig)</code>
<div class="block">Creates a new adapter.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/dm/DependencyManager.html#createAdapterService(java.lang.Class,%20java.lang.String,%20java.lang.String,%20java.lang.Object,%20java.lang.String,%20java.lang.String,%20java.lang.String,%20java.lang.String,%20boolean)">createAdapterService</a></strong>(java.lang.Class&lt;?&gt;&nbsp;serviceInterface,
java.lang.String&nbsp;serviceFilter,
java.lang.String&nbsp;autoConfig,
java.lang.Object&nbsp;callbackInstance,
java.lang.String&nbsp;add,
java.lang.String&nbsp;change,
java.lang.String&nbsp;remove,
java.lang.String&nbsp;swap,
boolean&nbsp;propagate)</code>
<div class="block">Creates a new adapter.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/dm/DependencyManager.html#createAdapterService(java.lang.Class,%20java.lang.String,%20java.lang.String,%20java.lang.String,%20java.lang.String)">createAdapterService</a></strong>(java.lang.Class&lt;?&gt;&nbsp;serviceInterface,
java.lang.String&nbsp;serviceFilter,
java.lang.String&nbsp;add,
java.lang.String&nbsp;change,
java.lang.String&nbsp;remove)</code>
<div class="block">Creates a new adapter.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/dm/DependencyManager.html#createAdapterService(java.lang.Class,%20java.lang.String,%20java.lang.String,%20java.lang.String,%20java.lang.String,%20java.lang.String)">createAdapterService</a></strong>(java.lang.Class&lt;?&gt;&nbsp;serviceInterface,
java.lang.String&nbsp;serviceFilter,
java.lang.String&nbsp;add,
java.lang.String&nbsp;change,
java.lang.String&nbsp;remove,
java.lang.String&nbsp;swap)</code>
<div class="block">Creates a new adapter.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/dm/DependencyManager.html#createAspectService(java.lang.Class,%20java.lang.String,%20int)">createAspectService</a></strong>(java.lang.Class&lt;?&gt;&nbsp;serviceInterface,
java.lang.String&nbsp;serviceFilter,
int&nbsp;ranking)</code>
<div class="block">Creates a new aspect.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/dm/DependencyManager.html#createAspectService(java.lang.Class,%20java.lang.String,%20int,%20java.lang.String)">createAspectService</a></strong>(java.lang.Class&lt;?&gt;&nbsp;serviceInterface,
java.lang.String&nbsp;serviceFilter,
int&nbsp;ranking,
java.lang.String&nbsp;autoConfig)</code>
<div class="block">Creates a new aspect.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/dm/DependencyManager.html#createAspectService(java.lang.Class,%20java.lang.String,%20int,%20java.lang.String,%20java.lang.String,%20java.lang.String)">createAspectService</a></strong>(java.lang.Class&lt;?&gt;&nbsp;serviceInterface,
java.lang.String&nbsp;serviceFilter,
int&nbsp;ranking,
java.lang.String&nbsp;add,
java.lang.String&nbsp;change,
java.lang.String&nbsp;remove)</code>
<div class="block">Creates a new aspect.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/dm/DependencyManager.html#createAspectService(java.lang.Class,%20java.lang.String,%20int,%20java.lang.String,%20java.lang.String,%20java.lang.String,%20java.lang.String)">createAspectService</a></strong>(java.lang.Class&lt;?&gt;&nbsp;serviceInterface,
java.lang.String&nbsp;serviceFilter,
int&nbsp;ranking,
java.lang.String&nbsp;add,
java.lang.String&nbsp;change,
java.lang.String&nbsp;remove,
java.lang.String&nbsp;swap)</code>
<div class="block">Creates a new aspect.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/dm/DependencyManager.html#createBundleAdapterService(int,%20java.lang.String,%20boolean)">createBundleAdapterService</a></strong>(int&nbsp;bundleStateMask,
java.lang.String&nbsp;bundleFilter,
boolean&nbsp;propagate)</code>
<div class="block">Creates a new bundle adapter.</div>
</td>
</tr>
<tr 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><strong><a href="../../../../org/apache/felix/dm/DependencyManager.html#createBundleDependency()">createBundleDependency</a></strong>()</code>
<div class="block">Creates a new bundle dependency.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/dm/DependencyManager.html#createComponent()">createComponent</a></strong>()</code>
<div class="block">Creates a new component.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/felix/dm/ConfigurationDependency.html" title="interface in org.apache.felix.dm">ConfigurationDependency</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/dm/DependencyManager.html#createConfigurationDependency()">createConfigurationDependency</a></strong>()</code>
<div class="block">Creates a new configuration dependency.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/dm/DependencyManager.html#createFactoryConfigurationAdapterService(java.lang.String,%20java.lang.String,%20boolean)">createFactoryConfigurationAdapterService</a></strong>(java.lang.String&nbsp;factoryPid,
java.lang.String&nbsp;update,
boolean&nbsp;propagate)</code>
<div class="block">Creates a new Managed Service Factory Configuration Adapter.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/felix/dm/PropertyMetaData.html" title="interface in org.apache.felix.dm">PropertyMetaData</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/dm/DependencyManager.html#createPropertyMetaData()">createPropertyMetaData</a></strong>()</code>
<div class="block">Creates a new configuration property metadata.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/dm/DependencyManager.html#createResourceAdapterService(java.lang.String,%20boolean,%20java.lang.Object,%20java.lang.String)">createResourceAdapterService</a></strong>(java.lang.String&nbsp;resourceFilter,
boolean&nbsp;propagate,
java.lang.Object&nbsp;callbackInstance,
java.lang.String&nbsp;callbackChanged)</code>
<div class="block">Creates a new resource adapter.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/dm/DependencyManager.html#createResourceAdapterService(java.lang.String,%20boolean,%20java.lang.Object,%20java.lang.String,%20java.lang.String)">createResourceAdapterService</a></strong>(java.lang.String&nbsp;resourceFilter,
boolean&nbsp;propagate,
java.lang.Object&nbsp;callbackInstance,
java.lang.String&nbsp;callbackSet,
java.lang.String&nbsp;callbackChanged)</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/dm/DependencyManager.html#createResourceAdapterService(java.lang.String,%20java.lang.Object,%20java.lang.String,%20java.lang.Object,%20java.lang.String)">createResourceAdapterService</a></strong>(java.lang.String&nbsp;resourceFilter,
java.lang.Object&nbsp;propagateCallbackInstance,
java.lang.String&nbsp;propagateCallbackMethod,
java.lang.Object&nbsp;callbackInstance,
java.lang.String&nbsp;callbackChanged)</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/dm/DependencyManager.html#createResourceAdapterService(java.lang.String,%20java.lang.Object,%20java.lang.String,%20java.lang.Object,%20java.lang.String,%20java.lang.String)">createResourceAdapterService</a></strong>(java.lang.String&nbsp;resourceFilter,
java.lang.Object&nbsp;propagateCallbackInstance,
java.lang.String&nbsp;propagateCallbackMethod,
java.lang.Object&nbsp;callbackInstance,
java.lang.String&nbsp;callbackSet,
java.lang.String&nbsp;callbackChanged)</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/felix/dm/ResourceDependency.html" title="interface in org.apache.felix.dm">ResourceDependency</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/dm/DependencyManager.html#createResourceDependency()">createResourceDependency</a></strong>()</code>
<div class="block">Creates a new resource dependency.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/felix/dm/ServiceDependency.html" title="interface in org.apache.felix.dm">ServiceDependency</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/dm/DependencyManager.html#createServiceDependency()">createServiceDependency</a></strong>()</code>
<div class="block">Creates a new service dependency.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/felix/dm/ServiceDependency.html" title="interface in org.apache.felix.dm">ServiceDependency</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/dm/DependencyManager.html#createTemporalServiceDependency(long)">createTemporalServiceDependency</a></strong>(long&nbsp;timeout)</code>
<div class="block">Creates a new timed required service dependency.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>org.osgi.framework.BundleContext</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/dm/DependencyManager.html#getBundleContext()">getBundleContext</a></strong>()</code>
<div class="block">Returns the bundle context associated with this dependency manager.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.util.List&lt;<a href="../../../../org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a>&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/dm/DependencyManager.html#getComponents()">getComponents</a></strong>()</code>
<div class="block">Returns a list of components.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.util.List&lt;<a href="../../../../org/apache/felix/dm/DependencyManager.html" title="class in org.apache.felix.dm">DependencyManager</a>&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/dm/DependencyManager.html#getDependencyManagers()">getDependencyManagers</a></strong>()</code>
<div class="block">Returns the list of currently created dependency managers.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/felix/dm/DependencyManager.html#remove(org.apache.felix.dm.Component)">remove</a></strong>(<a href="../../../../org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a>&nbsp;c)</code>
<div class="block">Removes a service from the dependency manager.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a name="PARALLEL">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>PARALLEL</h4>
<pre>public static final&nbsp;java.lang.String PARALLEL</pre>
<div class="block">The DependencyManager Activator will wait for a threadpool before creating any DM components if the following
OSGi system property is set to true.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.felix.dm.DependencyManager.PARALLEL">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="ASPECT">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ASPECT</h4>
<pre>public static final&nbsp;java.lang.String ASPECT</pre>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.felix.dm.DependencyManager.ASPECT">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="SERVICEREGISTRY_CACHE_INDICES">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SERVICEREGISTRY_CACHE_INDICES</h4>
<pre>public static final&nbsp;java.lang.String SERVICEREGISTRY_CACHE_INDICES</pre>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.felix.dm.DependencyManager.SERVICEREGISTRY_CACHE_INDICES">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="METHOD_CACHE_SIZE">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>METHOD_CACHE_SIZE</h4>
<pre>public static final&nbsp;java.lang.String METHOD_CACHE_SIZE</pre>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.felix.dm.DependencyManager.METHOD_CACHE_SIZE">Constant Field Values</a></dd></dl>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="DependencyManager(org.osgi.framework.BundleContext)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>DependencyManager</h4>
<pre>public&nbsp;DependencyManager(org.osgi.framework.BundleContext&nbsp;context)</pre>
<div class="block">Creates a new dependency manager. You need to supply the
<code>BundleContext</code> to be used by the dependency
manager to register services and communicate with the
framework.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>context</code> - the bundle context</dd></dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="getDependencyManagers()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDependencyManagers</h4>
<pre>public static&nbsp;java.util.List&lt;<a href="../../../../org/apache/felix/dm/DependencyManager.html" title="class in org.apache.felix.dm">DependencyManager</a>&gt;&nbsp;getDependencyManagers()</pre>
<div class="block">Returns the list of currently created dependency managers.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>the list of currently created dependency managers</dd></dl>
</li>
</ul>
<a name="getBundleContext()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getBundleContext</h4>
<pre>public&nbsp;org.osgi.framework.BundleContext&nbsp;getBundleContext()</pre>
<div class="block">Returns the bundle context associated with this dependency manager.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>the bundle context associated with this dependency manager.</dd></dl>
</li>
</ul>
<a name="add(org.apache.felix.dm.Component)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>add</h4>
<pre>public&nbsp;void&nbsp;add(<a href="../../../../org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a>&nbsp;c)</pre>
<div class="block">Adds a new component to the dependency manager. After the service is added
it will be started immediately.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>c</code> - the service to add</dd></dl>
</li>
</ul>
<a name="remove(org.apache.felix.dm.Component)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>remove</h4>
<pre>public&nbsp;void&nbsp;remove(<a href="../../../../org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a>&nbsp;c)</pre>
<div class="block">Removes a service from the dependency manager. Before the service is removed
it is stopped first.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>c</code> - the component to remove</dd></dl>
</li>
</ul>
<a name="createComponent()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createComponent</h4>
<pre>public&nbsp;<a href="../../../../org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a>&nbsp;createComponent()</pre>
<div class="block">Creates a new component.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>the new component</dd></dl>
</li>
</ul>
<a name="createServiceDependency()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createServiceDependency</h4>
<pre>public&nbsp;<a href="../../../../org/apache/felix/dm/ServiceDependency.html" title="interface in org.apache.felix.dm">ServiceDependency</a>&nbsp;createServiceDependency()</pre>
<div class="block">Creates a new service dependency.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>the service dependency</dd></dl>
</li>
</ul>
<a name="createConfigurationDependency()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createConfigurationDependency</h4>
<pre>public&nbsp;<a href="../../../../org/apache/felix/dm/ConfigurationDependency.html" title="interface in org.apache.felix.dm">ConfigurationDependency</a>&nbsp;createConfigurationDependency()</pre>
<div class="block">Creates a new configuration dependency.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>the configuration dependency</dd></dl>
</li>
</ul>
<a name="createBundleDependency()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createBundleDependency</h4>
<pre>public&nbsp;<a href="../../../../org/apache/felix/dm/BundleDependency.html" title="interface in org.apache.felix.dm">BundleDependency</a>&nbsp;createBundleDependency()</pre>
<div class="block">Creates a new bundle dependency.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>a new BundleDependency instance.</dd></dl>
</li>
</ul>
<a name="createResourceDependency()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createResourceDependency</h4>
<pre>public&nbsp;<a href="../../../../org/apache/felix/dm/ResourceDependency.html" title="interface in org.apache.felix.dm">ResourceDependency</a>&nbsp;createResourceDependency()</pre>
<div class="block">Creates a new resource dependency.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>the resource dependency</dd></dl>
</li>
</ul>
<a name="createTemporalServiceDependency(long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createTemporalServiceDependency</h4>
<pre>public&nbsp;<a href="../../../../org/apache/felix/dm/ServiceDependency.html" title="interface in org.apache.felix.dm">ServiceDependency</a>&nbsp;createTemporalServiceDependency(long&nbsp;timeout)</pre>
<div class="block">Creates a new timed required service dependency. A timed dependency blocks the invoker thread is the required dependency
is currently unavailable, until it comes up again.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>a new timed service dependency</dd></dl>
</li>
</ul>
<a name="createAdapterService(java.lang.Class, java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createAdapterService</h4>
<pre>public&nbsp;<a href="../../../../org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a>&nbsp;createAdapterService(java.lang.Class&lt;?&gt;&nbsp;serviceInterface,
java.lang.String&nbsp;serviceFilter)</pre>
<div class="block">Creates a new adapter. The adapter will be applied to any service that
matches the specified interface and filter. For each matching service
an adapter will be created based on the adapter implementation class.
The adapter will be registered with the specified interface and existing properties
from the original service plus any extra properties you supply here.
It will also inherit all dependencies, and if you declare the original
service as a member it will be injected.
<h3>Usage Example</h3>
<blockquote><pre>
manager.createAdapterService(AdapteeService.class, "(foo=bar)")
.setInterface(AdapterService.class, new Hashtable() {{ put("extra", "property"); }})
.setImplementation(AdapterImpl.class);
</pre></blockquote></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>serviceInterface</code> - the service interface to apply the adapter to</dd><dd><code>serviceFilter</code> - the filter condition to use with the service interface</dd>
<dt><span class="strong">Returns:</span></dt><dd>a service that acts as a factory for generating adapters</dd></dl>
</li>
</ul>
<a name="createAdapterService(java.lang.Class, java.lang.String, java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createAdapterService</h4>
<pre>public&nbsp;<a href="../../../../org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a>&nbsp;createAdapterService(java.lang.Class&lt;?&gt;&nbsp;serviceInterface,
java.lang.String&nbsp;serviceFilter,
java.lang.String&nbsp;autoConfig)</pre>
<div class="block">Creates a new adapter. The adapter will be applied to any service that
matches the specified interface and filter. For each matching service
an adapter will be created based on the adapter implementation class.
The adapter will be registered with the specified interface and existing properties
from the original service plus any extra properties you supply here.
It will also inherit all dependencies, and if you declare the original
service as a member it will be injected.
<h3>Usage Example</h3>
<blockquote><pre>
manager.createAdapterService(AdapteeService.class, "(foo=bar)", "m_service")
.setInterface(AdapterService.class, new Hashtable() {{ put("extra", "property"); }})
.setImplementation(AdapterImpl.class);
</pre></blockquote></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>serviceInterface</code> - the service interface to apply the adapter to</dd><dd><code>serviceFilter</code> - the filter condition to use with the service interface</dd><dd><code>autoConfig</code> - the name of the member to inject the service into</dd>
<dt><span class="strong">Returns:</span></dt><dd>a service that acts as a factory for generating adapters</dd></dl>
</li>
</ul>
<a name="createAdapterService(java.lang.Class, java.lang.String, java.lang.String, java.lang.String, java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createAdapterService</h4>
<pre>public&nbsp;<a href="../../../../org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a>&nbsp;createAdapterService(java.lang.Class&lt;?&gt;&nbsp;serviceInterface,
java.lang.String&nbsp;serviceFilter,
java.lang.String&nbsp;add,
java.lang.String&nbsp;change,
java.lang.String&nbsp;remove)</pre>
<div class="block">Creates a new adapter. The adapter will be applied to any service that
matches the specified interface and filter. For each matching service
an adapter will be created based on the adapter implementation class.
The adapter will be registered with the specified interface and existing properties
from the original service plus any extra properties you supply here.
It will also inherit all dependencies, and if you declare the original
service as a member it will be injected.
<h3>Usage Example</h3>
<blockquote><pre>
manager.createAdapterService(AdapteeService.class, "(foo=bar)", "add", "change", "remove")
.setInterface(AdapterService.class, new Hashtable() {{ put("extra", "property"); }})
.setImplementation(AdapterImpl.class);
</pre></blockquote></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>serviceInterface</code> - the service interface to apply the adapter to</dd><dd><code>serviceFilter</code> - the filter condition to use with the service interface</dd><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="strong">Returns:</span></dt><dd>a service that acts as a factory for generating adapters</dd></dl>
</li>
</ul>
<a name="createAdapterService(java.lang.Class, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createAdapterService</h4>
<pre>public&nbsp;<a href="../../../../org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a>&nbsp;createAdapterService(java.lang.Class&lt;?&gt;&nbsp;serviceInterface,
java.lang.String&nbsp;serviceFilter,
java.lang.String&nbsp;add,
java.lang.String&nbsp;change,
java.lang.String&nbsp;remove,
java.lang.String&nbsp;swap)</pre>
<div class="block">Creates a new adapter. The adapter will be applied to any service that
matches the specified interface and filter. For each matching service
an adapter will be created based on the adapter implementation class.
The adapter will be registered with the specified interface and existing properties
from the original service plus any extra properties you supply here.
It will also inherit all dependencies, and if you declare the original
service as a member it will be injected.
<h3>Usage Example</h3>
<blockquote><pre>
manager.createAdapterService(AdapteeService.class, "(foo=bar)", "add", "change", "remove", "swap")
.setInterface(AdapterService.class, new Hashtable() {{ put("extra", "property"); }})
.setImplementation(AdapterImpl.class);
</pre></blockquote></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>serviceInterface</code> - the service interface to apply the adapter to</dd><dd><code>serviceFilter</code> - the filter condition to use with the service interface</dd><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><dd><code>swap</code> - name of the callback method to invoke on swap</dd>
<dt><span class="strong">Returns:</span></dt><dd>a service that acts as a factory for generating adapters</dd></dl>
</li>
</ul>
<a name="createAdapterService(java.lang.Class, java.lang.String, java.lang.String, java.lang.Object, java.lang.String, java.lang.String, java.lang.String, java.lang.String, boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createAdapterService</h4>
<pre>public&nbsp;<a href="../../../../org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a>&nbsp;createAdapterService(java.lang.Class&lt;?&gt;&nbsp;serviceInterface,
java.lang.String&nbsp;serviceFilter,
java.lang.String&nbsp;autoConfig,
java.lang.Object&nbsp;callbackInstance,
java.lang.String&nbsp;add,
java.lang.String&nbsp;change,
java.lang.String&nbsp;remove,
java.lang.String&nbsp;swap,
boolean&nbsp;propagate)</pre>
<div class="block">Creates a new adapter. The adapter will be applied to any service that
matches the specified interface and filter. For each matching service
an adapter will be created based on the adapter implementation class.
The adapter will be registered with the specified interface (and existing properties
from the original service if you set the propagate flag) plus any extra properties you supply here.
It will also inherit all dependencies, and if you declare the original
service as a member it will be injected.
<h3>Usage Example</h3>
<blockquote><pre>
manager.createAdapterService(AdapteeService.class, "(foo=bar)", "add", "change", "remove", "swap")
.setInterface(AdapterService.class, new Hashtable() {{ put("extra", "property"); }})
.setImplementation(AdapterImpl.class);
</pre></blockquote></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>serviceInterface</code> - the service interface to apply the adapter to</dd><dd><code>serviceFilter</code> - the filter condition to use with the service interface</dd><dd><code>autoConfig</code> - the name of the member to inject the service into, or null.</dd><dd><code>callbackInstance</code> - the instance to invoke the callbacks on, or null if the callbacks have to be invoked on the adapter itself</dd><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><dd><code>swap</code> - name of the callback method to invoke on swap</dd><dd><code>propagate</code> - true if the adaptee service properties should be propagated to the adapter service consumers</dd>
<dt><span class="strong">Returns:</span></dt><dd>a service that acts as a factory for generating adapters</dd></dl>
</li>
</ul>
<a name="createFactoryConfigurationAdapterService(java.lang.String, java.lang.String, boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createFactoryConfigurationAdapterService</h4>
<pre>public&nbsp;<a href="../../../../org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a>&nbsp;createFactoryConfigurationAdapterService(java.lang.String&nbsp;factoryPid,
java.lang.String&nbsp;update,
boolean&nbsp;propagate)</pre>
<div class="block">Creates a new Managed Service Factory Configuration Adapter. For each new Config Admin factory configuration matching
the factoryPid, 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 <code>propagate</code> parameter, every public factory configuration properties
(which don't start with ".") will be propagated along with the adapter service properties.
It will also inherit all dependencies.
<h3>Usage Example</h3>
<blockquote><pre>
manager.createFactoryConfigurationAdapterService("MyFactoryPid", "update", true)
// The interface to use when registering adapter
.setInterface(AdapterService.class.getName(), new Hashtable() {{ put("foo", "bar"); }})
// the implementation of the adapter
.setImplementation(AdapterServiceImpl.class);
</pre></blockquote></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>factoryPid</code> - the pid matching the factory configuration</dd><dd><code>update</code> - the adapter method name that will be notified when the factory configuration is created/updated.</dd><dd><code>propagate</code> - true if public factory configuration should be propagated to the adapter service properties</dd>
<dt><span class="strong">Returns:</span></dt><dd>a service that acts as a factory for generating the managed service factory configuration adapter</dd></dl>
</li>
</ul>
<a name="createAdapterFactoryConfigurationService(java.lang.String, java.lang.String, boolean, java.lang.String, java.lang.String, java.lang.String, org.apache.felix.dm.PropertyMetaData[])">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createAdapterFactoryConfigurationService</h4>
<pre>public&nbsp;<a href="../../../../org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a>&nbsp;createAdapterFactoryConfigurationService(java.lang.String&nbsp;factoryPid,
java.lang.String&nbsp;update,
boolean&nbsp;propagate,
java.lang.String&nbsp;heading,
java.lang.String&nbsp;desc,
java.lang.String&nbsp;localization,
<a href="../../../../org/apache/felix/dm/PropertyMetaData.html" title="interface in org.apache.felix.dm">PropertyMetaData</a>[]&nbsp;propertiesMetaData)</pre>
<div class="block">Creates a new Managed Service Factory Configuration Adapter with meta type support. For each new Config Admin
factory configuration matching the factoryPid, 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 <code>propagate</code> parameter, every public factory configuration properties
(which don't start with ".") will be propagated along with the adapter service properties.
It will also inherit all dependencies.
<h3>Usage Example</h3>
<blockquote><pre>
PropertyMetaData[] propertiesMetaData = new PropertyMetaData[] {
manager.createPropertyMetaData()
.setCardinality(Integer.MAX_VALUE)
.setType(String.class)
.setHeading("English words")
.setDescription("Declare here some valid english words")
.setDefaults(new String[] {"hello", "world"})
.setId("words")
};
manager.add(createFactoryConfigurationAdapterService("FactoryPid",
"updated",
true, // propagate CM settings
"EnglishDictionary",
"English dictionary configuration properties",
null,
propertiesMetaData)
.setImplementation(Adapter.class));
</pre></blockquote></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>factoryPid</code> - the pid matching the factory configuration</dd><dd><code>update</code> - the adapter method name that will be notified when the factory configuration is created/updated.</dd><dd><code>propagate</code> - true if public factory configuration should be propagated to the adapter service properties</dd><dd><code>heading</code> - The label used to display the tab name (or section) where the properties are displayed.
Example: "Printer Service"</dd><dd><code>desc</code> - A human readable description of the factory PID this configuration is associated with.
Example: "Configuration for the PrinterService bundle"</dd><dd><code>localization</code> - Points to the basename of the Properties file that can localize the Meta Type informations.
The default localization base name for the properties is OSGI-INF/l10n/bundle, but can
be overridden by the manifest Bundle-Localization header (see core specification, in section Localization
on page 68). You can specify a specific localization basename file using this parameter
(e.g. <code>"person"</code> will match person_du_NL.properties in the root bundle directory).</dd><dd><code>propertiesMetaData</code> - Array of MetaData regarding configuration properties</dd>
<dt><span class="strong">Returns:</span></dt><dd>a service that acts as a factory for generating the managed service factory configuration adapter</dd></dl>
</li>
</ul>
<a name="createBundleAdapterService(int, java.lang.String, boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createBundleAdapterService</h4>
<pre>public&nbsp;<a href="../../../../org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a>&nbsp;createBundleAdapterService(int&nbsp;bundleStateMask,
java.lang.String&nbsp;bundleFilter,
boolean&nbsp;propagate)</pre>
<div class="block">Creates a new bundle adapter. The adapter will be applied to any bundle that
matches the specified bundle state mask and filter condition. For each matching
bundle an adapter will be created based on the adapter implementation class.
The adapter will be registered with the specified interface
TODO and existing properties from the original resource plus any extra properties you supply here.
It will also inherit all dependencies, and if you declare the original
service as a member it will be injected.
<h3>Usage Example</h3>
<blockquote><pre>
manager.createBundleAdapterService(Bundle.INSTALLED | Bundle.RESOLVED | Bundle.ACTIVE,
"(Bundle-SymbolicName=org.apache.felix.dependencymanager)",
true)
// The interface to use when registering adapter
.setInterface(AdapterService.class.getName(), new Hashtable() {{ put("foo", "bar"); }})
// the implementation of the adapter
.setImplementation(AdapterServiceImpl.class);
</pre></blockquote></div>
<dl><dt><span class="strong">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><dd><code>propagate</code> - <code>true</code> if properties from the bundle should be propagated to the service</dd>
<dt><span class="strong">Returns:</span></dt><dd>a service that acts as a factory for generating bundle adapters</dd></dl>
</li>
</ul>
<a name="createResourceAdapterService(java.lang.String, boolean, java.lang.Object, java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createResourceAdapterService</h4>
<pre>public&nbsp;<a href="../../../../org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a>&nbsp;createResourceAdapterService(java.lang.String&nbsp;resourceFilter,
boolean&nbsp;propagate,
java.lang.Object&nbsp;callbackInstance,
java.lang.String&nbsp;callbackChanged)</pre>
<div class="block">Creates a new resource adapter. The adapter will be applied to any resource that
matches the specified filter condition. For each matching resource
an adapter will be created based on the adapter implementation class.
The adapter will be registered with the specified interface and existing properties
from the original resource plus any extra properties you supply here.
It will also inherit all dependencies, and if you declare the original
service as a member it will be injected.
<h3>Usage Example</h3>
<blockquote><pre>
manager.createResourceAdapterService("(&(path=/test)(repository=TestRepository))", true)
// The interface to use when registering adapter
.setInterface(AdapterService.class.getName(), new Hashtable() {{ put("foo", "bar"); }})
// the implementation of the adapter
.setImplementation(AdapterServiceImpl.class);
</pre></blockquote></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>resourceFilter</code> - the filter condition to use with the resource</dd><dd><code>propagate</code> - <code>true</code> if properties from the resource should be propagated to the service</dd><dd><code>callbackInstance</code> - instance to invoke the callback on</dd><dd><code>callbackChanged</code> - the name of the callback method</dd>
<dt><span class="strong">Returns:</span></dt><dd>a service that acts as a factory for generating resource adapters</dd></dl>
</li>
</ul>
<a name="createResourceAdapterService(java.lang.String, boolean, java.lang.Object, java.lang.String, java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createResourceAdapterService</h4>
<pre>public&nbsp;<a href="../../../../org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a>&nbsp;createResourceAdapterService(java.lang.String&nbsp;resourceFilter,
boolean&nbsp;propagate,
java.lang.Object&nbsp;callbackInstance,
java.lang.String&nbsp;callbackSet,
java.lang.String&nbsp;callbackChanged)</pre>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/felix/dm/DependencyManager.html#createResourceAdapterService(java.lang.String,%20boolean,%20java.lang.Object,%20java.lang.String)"><code>createResourceAdapterService(String, boolean, Object, String)</code></a></dd></dl>
</li>
</ul>
<a name="createResourceAdapterService(java.lang.String, java.lang.Object, java.lang.String, java.lang.Object, java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createResourceAdapterService</h4>
<pre>public&nbsp;<a href="../../../../org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a>&nbsp;createResourceAdapterService(java.lang.String&nbsp;resourceFilter,
java.lang.Object&nbsp;propagateCallbackInstance,
java.lang.String&nbsp;propagateCallbackMethod,
java.lang.Object&nbsp;callbackInstance,
java.lang.String&nbsp;callbackChanged)</pre>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/felix/dm/DependencyManager.html#createResourceAdapterService(java.lang.String,%20boolean,%20java.lang.Object,%20java.lang.String)"><code>createResourceAdapterService(String, boolean, Object, String)</code></a></dd></dl>
</li>
</ul>
<a name="createResourceAdapterService(java.lang.String, java.lang.Object, java.lang.String, java.lang.Object, java.lang.String, java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createResourceAdapterService</h4>
<pre>public&nbsp;<a href="../../../../org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a>&nbsp;createResourceAdapterService(java.lang.String&nbsp;resourceFilter,
java.lang.Object&nbsp;propagateCallbackInstance,
java.lang.String&nbsp;propagateCallbackMethod,
java.lang.Object&nbsp;callbackInstance,
java.lang.String&nbsp;callbackSet,
java.lang.String&nbsp;callbackChanged)</pre>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/felix/dm/DependencyManager.html#createResourceAdapterService(java.lang.String,%20boolean,%20java.lang.Object,%20java.lang.String)"><code>createResourceAdapterService(String, boolean, Object, String)</code></a></dd></dl>
</li>
</ul>
<a name="getComponents()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getComponents</h4>
<pre>public&nbsp;java.util.List&lt;<a href="../../../../org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a>&gt;&nbsp;getComponents()</pre>
<div class="block">Returns a list of components.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>a list of components</dd></dl>
</li>
</ul>
<a name="createAspectService(java.lang.Class, java.lang.String, int, java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createAspectService</h4>
<pre>public&nbsp;<a href="../../../../org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a>&nbsp;createAspectService(java.lang.Class&lt;?&gt;&nbsp;serviceInterface,
java.lang.String&nbsp;serviceFilter,
int&nbsp;ranking,
java.lang.String&nbsp;autoConfig)</pre>
<div class="block">Creates a new aspect. The aspect will be applied to any service that
matches the specified interface and filter. For each matching service
an aspect will be created based on the aspect implementation class.
The aspect will be registered with the same interface and properties
as the original service, plus any extra properties you supply here.
It will also inherit all dependencies, and if you declare the original
service as a member it will be injected.
<h3>Usage Example</h3>
<blockquote><pre>
manager.createAspectService(ExistingService.class, "(foo=bar)", 10, "m_service")
.setImplementation(ExistingServiceAspect.class)
);
</pre></blockquote></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>serviceInterface</code> - the service interface to apply the aspect to</dd><dd><code>serviceFilter</code> - the filter condition to use with the service interface</dd><dd><code>ranking</code> - the level used to organize the aspect chain ordering</dd><dd><code>autoConfig</code> - the aspect implementation field name where to inject original service.
If null, any field matching the original service will be injected.</dd>
<dt><span class="strong">Returns:</span></dt><dd>a service that acts as a factory for generating aspects</dd></dl>
</li>
</ul>
<a name="createAspectService(java.lang.Class, java.lang.String, int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createAspectService</h4>
<pre>public&nbsp;<a href="../../../../org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a>&nbsp;createAspectService(java.lang.Class&lt;?&gt;&nbsp;serviceInterface,
java.lang.String&nbsp;serviceFilter,
int&nbsp;ranking)</pre>
<div class="block">Creates a new aspect. The aspect will be applied to any service that
matches the specified interface and filter. For each matching service
an aspect will be created based on the aspect implementation class.
The aspect will be registered with the same interface and properties
as the original service, plus any extra properties you supply here.
It will also inherit all dependencies, and if you declare the original
service as a member it will be injected.
<h3>Usage Example</h3>
<blockquote><pre>
manager.createAspectService(ExistingService.class, "(foo=bar)", 10)
.setImplementation(ExistingServiceAspect.class)
);
</pre></blockquote></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>serviceInterface</code> - the service interface to apply the aspect to</dd><dd><code>serviceFilter</code> - the filter condition to use with the service interface</dd><dd><code>ranking</code> - the level used to organize the aspect chain ordering</dd>
<dt><span class="strong">Returns:</span></dt><dd>a service that acts as a factory for generating aspects</dd></dl>
</li>
</ul>
<a name="createAspectService(java.lang.Class, java.lang.String, int, java.lang.String, java.lang.String, java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createAspectService</h4>
<pre>public&nbsp;<a href="../../../../org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a>&nbsp;createAspectService(java.lang.Class&lt;?&gt;&nbsp;serviceInterface,
java.lang.String&nbsp;serviceFilter,
int&nbsp;ranking,
java.lang.String&nbsp;add,
java.lang.String&nbsp;change,
java.lang.String&nbsp;remove)</pre>
<div class="block">Creates a new aspect. The aspect will be applied to any service that
matches the specified interface and filter. For each matching service
an aspect will be created based on the aspect implementation class.
The aspect will be registered with the same interface and properties
as the original service, plus any extra properties you supply here.
It will also inherit all dependencies, and if you declare the original
service as a member it will be injected.
<h3>Usage Example</h3>
<blockquote><pre>
manager.createAspectService(ExistingService.class, "(foo=bar)", 10, "add", "change", "remove")
.setImplementation(ExistingServiceAspect.class)
);
</pre></blockquote></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>serviceInterface</code> - the service interface to apply the aspect to</dd><dd><code>serviceFilter</code> - the filter condition to use with the service interface</dd><dd><code>ranking</code> - the level used to organize the aspect chain ordering</dd><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="strong">Returns:</span></dt><dd>a service that acts as a factory for generating aspects</dd></dl>
</li>
</ul>
<a name="createAspectService(java.lang.Class, java.lang.String, int, java.lang.String, java.lang.String, java.lang.String, java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createAspectService</h4>
<pre>public&nbsp;<a href="../../../../org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a>&nbsp;createAspectService(java.lang.Class&lt;?&gt;&nbsp;serviceInterface,
java.lang.String&nbsp;serviceFilter,
int&nbsp;ranking,
java.lang.String&nbsp;add,
java.lang.String&nbsp;change,
java.lang.String&nbsp;remove,
java.lang.String&nbsp;swap)</pre>
<div class="block">Creates a new aspect. The aspect will be applied to any service that
matches the specified interface and filter. For each matching service
an aspect will be created based on the aspect implementation class.
The aspect will be registered with the same interface and properties
as the original service, plus any extra properties you supply here.
It will also inherit all dependencies, and if you declare the original
service as a member it will be injected.
<h3>Usage Example</h3>
<blockquote><pre>
manager.createAspectService(ExistingService.class, "(foo=bar)", 10, "add", "change", "remove")
.setImplementation(ExistingServiceAspect.class)
);
</pre></blockquote></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>serviceInterface</code> - the service interface to apply the aspect to</dd><dd><code>serviceFilter</code> - the filter condition to use with the service interface</dd><dd><code>ranking</code> - the level used to organize the aspect chain ordering</dd><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><dd><code>swap</code> - name of the callback method to invoke on swap</dd>
<dt><span class="strong">Returns:</span></dt><dd>a service that acts as a factory for generating aspects</dd></dl>
</li>
</ul>
<a name="clear()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>clear</h4>
<pre>public&nbsp;void&nbsp;clear()</pre>
<div class="block">Removes all components and their dependencies.</div>
</li>
</ul>
<a name="createPropertyMetaData()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>createPropertyMetaData</h4>
<pre>public&nbsp;<a href="../../../../org/apache/felix/dm/PropertyMetaData.html" title="interface in org.apache.felix.dm">PropertyMetaData</a>&nbsp;createPropertyMetaData()</pre>
<div class="block">Creates a new configuration property metadata.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>the configuration property metadata.</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><a href="#skip-navbar_bottom" title="Skip navigation links"></a><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/DependencyActivatorBase.html" title="class in org.apache.felix.dm"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../org/apache/felix/dm/FilterIndex.html" title="interface in org.apache.felix.dm"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/felix/dm/DependencyManager.html" target="_top">Frames</a></li>
<li><a href="DependencyManager.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.html">All 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><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>