<!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_75) on Tue May 26 23:22:39 CEST 2015 -->
<title>Index</title>
<meta name="date" content="2015-05-26">
<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="Index";
    }
//-->
</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>Package</li>
<li>Class</li>
<li><a href="./overview-tree.html">Tree</a></li>
<li><a href="./deprecated-list.html">Deprecated</a></li>
<li class="navBarCell1Rev">Index</li>
<li><a href="./help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="./index.html?index-all.html" target="_top">Frames</a></li>
<li><a href="index-all.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>
<a name="skip-navbar_top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="contentContainer"><a href="#_A_">A</a>&nbsp;<a href="#_B_">B</a>&nbsp;<a href="#_C_">C</a>&nbsp;<a href="#_D_">D</a>&nbsp;<a href="#_E_">E</a>&nbsp;<a href="#_F_">F</a>&nbsp;<a href="#_G_">G</a>&nbsp;<a href="#_H_">H</a>&nbsp;<a href="#_I_">I</a>&nbsp;<a href="#_L_">L</a>&nbsp;<a href="#_M_">M</a>&nbsp;<a href="#_N_">N</a>&nbsp;<a href="#_O_">O</a>&nbsp;<a href="#_P_">P</a>&nbsp;<a href="#_R_">R</a>&nbsp;<a href="#_S_">S</a>&nbsp;<a href="#_T_">T</a>&nbsp;<a href="#_U_">U</a>&nbsp;<a href="#_V_">V</a>&nbsp;<a href="#_W_">W</a>&nbsp;<a name="_A_">
<!--   -->
</a>
<h2 class="title">A</h2>
<dl>
<dt><a href="./org/apache/felix/dm/tracker/AbstractCustomizerActionSet.html" title="class in org.apache.felix.dm.tracker"><span class="strong">AbstractCustomizerActionSet</span></a> - Class in <a href="./org/apache/felix/dm/tracker/package-summary.html">org.apache.felix.dm.tracker</a></dt>
<dd>
<div class="block">Actions which can be performed on a given customizer interface.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/tracker/AbstractCustomizerActionSet.html#AbstractCustomizerActionSet()">AbstractCustomizerActionSet()</a></span> - Constructor for class org.apache.felix.dm.tracker.<a href="./org/apache/felix/dm/tracker/AbstractCustomizerActionSet.html" title="class in org.apache.felix.dm.tracker">AbstractCustomizerActionSet</a></dt>
<dd>&nbsp;</dd>
<dt><a href="./org/apache/felix/dm/context/AbstractDependency.html" title="class in org.apache.felix.dm.context"><span class="strong">AbstractDependency</span></a>&lt;<a href="./org/apache/felix/dm/context/AbstractDependency.html" title="type parameter in AbstractDependency">T</a> extends <a href="./org/apache/felix/dm/Dependency.html" title="interface in org.apache.felix.dm">Dependency</a>&gt; - Class in <a href="./org/apache/felix/dm/context/package-summary.html">org.apache.felix.dm.context</a></dt>
<dd>
<div class="block">Abstract class for implementing Dependencies.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/AbstractDependency.html#AbstractDependency()">AbstractDependency()</a></span> - Constructor for class org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/AbstractDependency.html" title="class in org.apache.felix.dm.context">AbstractDependency</a></dt>
<dd>
<div class="block">Creates a new Dependency.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/AbstractDependency.html#AbstractDependency(org.apache.felix.dm.context.AbstractDependency)">AbstractDependency(AbstractDependency&lt;T&gt;)</a></span> - Constructor for class org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/AbstractDependency.html" title="class in org.apache.felix.dm.context">AbstractDependency</a></dt>
<dd>
<div class="block">Create a clone of a given Dependency.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/Component.html#add(org.apache.felix.dm.Dependency...)">add(Dependency...)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a></dt>
<dd>
<div class="block">Adds dependency(ies) to this component, atomically.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/Component.html#add(org.apache.felix.dm.ComponentStateListener)">add(ComponentStateListener)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a></dt>
<dd>
<div class="block">Adds a component state listener to this component.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/ConfigurationDependency.html#add(org.apache.felix.dm.PropertyMetaData)">add(PropertyMetaData)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/ConfigurationDependency.html" title="interface in org.apache.felix.dm">ConfigurationDependency</a></dt>
<dd>
<div class="block">Adds a MetaData regarding a given configuration property.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/DependencyManager.html#add(org.apache.felix.dm.Component)">add(Component)</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/DependencyManager.html" title="class in org.apache.felix.dm">DependencyManager</a></dt>
<dd>
<div class="block">Adds a new component to the dependency manager.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/tracker/AbstractCustomizerActionSet.html#addCustomizerAdded(java.lang.Object,%20java.lang.Object,%20java.lang.Object)">addCustomizerAdded(Object, Object, Object)</a></span> - Method in class org.apache.felix.dm.tracker.<a href="./org/apache/felix/dm/tracker/AbstractCustomizerActionSet.html" title="class in org.apache.felix.dm.tracker">AbstractCustomizerActionSet</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/tracker/AbstractCustomizerActionSet.html#addCustomizerModified(java.lang.Object,%20java.lang.Object,%20java.lang.Object)">addCustomizerModified(Object, Object, Object)</a></span> - Method in class org.apache.felix.dm.tracker.<a href="./org/apache/felix/dm/tracker/AbstractCustomizerActionSet.html" title="class in org.apache.felix.dm.tracker">AbstractCustomizerActionSet</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/tracker/AbstractCustomizerActionSet.html#addCustomizerRemoved(java.lang.Object,%20java.lang.Object,%20java.lang.Object)">addCustomizerRemoved(Object, Object, Object)</a></span> - Method in class org.apache.felix.dm.tracker.<a href="./org/apache/felix/dm/tracker/AbstractCustomizerActionSet.html" title="class in org.apache.felix.dm.tracker">AbstractCustomizerActionSet</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/ResourceHandler.html#added(java.net.URL)">added(URL)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/ResourceHandler.html" title="interface in org.apache.felix.dm">ResourceHandler</a></dt>
<dd>
<div class="block"><span class="strong">Deprecated.</span>
<div class="block"><i>Please use <a href="./org/apache/felix/dm/ResourceHandler.html#added(java.net.URL,%20java.util.Dictionary)"><code>ResourceHandler.added(URL, Dictionary)</code></a> instead. When both are specified,
     the new method takes precedence and the deprecated one is not invoked.</i></div>
</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/ResourceHandler.html#added(java.net.URL,%20java.util.Dictionary)">added(URL, Dictionary&lt;?, ?&gt;)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/ResourceHandler.html" title="interface in org.apache.felix.dm">ResourceHandler</a></dt>
<dd>
<div class="block">Invoked whenever a new resource is added.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/tracker/BundleTracker.html#addedBundle(Bundle,%20BundleEvent,%20java.lang.Object)">addedBundle(Bundle, BundleEvent, Object)</a></span> - Method in class org.apache.felix.dm.tracker.<a href="./org/apache/felix/dm/tracker/BundleTracker.html" title="class in org.apache.felix.dm.tracker">BundleTracker</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/tracker/BundleTrackerCustomizer.html#addedBundle(Bundle,%20BundleEvent,%20java.lang.Object)">addedBundle(Bundle, BundleEvent, Object)</a></span> - Method in interface org.apache.felix.dm.tracker.<a href="./org/apache/felix/dm/tracker/BundleTrackerCustomizer.html" title="interface in org.apache.felix.dm.tracker">BundleTrackerCustomizer</a></dt>
<dd>
<div class="block">marrs: A bundle has been added to the BundleTracker.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/tracker/ServiceTracker.html#addedService(ServiceReference,%20java.lang.Object)">addedService(ServiceReference, Object)</a></span> - Method in class org.apache.felix.dm.tracker.<a href="./org/apache/felix/dm/tracker/ServiceTracker.html" title="class in org.apache.felix.dm.tracker">ServiceTracker</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/tracker/ServiceTrackerCustomizer.html#addedService(ServiceReference,%20java.lang.Object)">addedService(ServiceReference, Object)</a></span> - Method in interface org.apache.felix.dm.tracker.<a href="./org/apache/felix/dm/tracker/ServiceTrackerCustomizer.html" title="interface in org.apache.felix.dm.tracker">ServiceTrackerCustomizer</a></dt>
<dd>
<div class="block">marrs: A service has been added to the ServiceTracker.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/tracker/BundleTracker.html#addingBundle(Bundle,%20BundleEvent)">addingBundle(Bundle, BundleEvent)</a></span> - Method in class org.apache.felix.dm.tracker.<a href="./org/apache/felix/dm/tracker/BundleTracker.html" title="class in org.apache.felix.dm.tracker">BundleTracker</a></dt>
<dd>
<div class="block">Default implementation of the
 <code>BundleTrackerCustomizer.addingBundle</code> method.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/tracker/BundleTrackerCustomizer.html#addingBundle(Bundle,%20BundleEvent)">addingBundle(Bundle, BundleEvent)</a></span> - Method in interface org.apache.felix.dm.tracker.<a href="./org/apache/felix/dm/tracker/BundleTrackerCustomizer.html" title="interface in org.apache.felix.dm.tracker">BundleTrackerCustomizer</a></dt>
<dd>
<div class="block">A bundle is being added to the <code>BundleTracker</code>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/tracker/ServiceTracker.html#addingService(ServiceReference)">addingService(ServiceReference)</a></span> - Method in class org.apache.felix.dm.tracker.<a href="./org/apache/felix/dm/tracker/ServiceTracker.html" title="class in org.apache.felix.dm.tracker">ServiceTracker</a></dt>
<dd>
<div class="block">Default implementation of the
 <code>ServiceTrackerCustomizer.addingService</code> method.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/tracker/ServiceTrackerCustomizer.html#addingService(ServiceReference)">addingService(ServiceReference)</a></span> - Method in interface org.apache.felix.dm.tracker.<a href="./org/apache/felix/dm/tracker/ServiceTrackerCustomizer.html" title="interface in org.apache.felix.dm.tracker">ServiceTrackerCustomizer</a></dt>
<dd>
<div class="block">A service is being added to the <code>ServiceTracker</code>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/PropertyMetaData.html#addOption(java.lang.String,%20java.lang.String)">addOption(String, String)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/PropertyMetaData.html" title="interface in org.apache.felix.dm">PropertyMetaData</a></dt>
<dd>
<div class="block">Return a list of valid options for this property (the labels may be localized).</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/FilterIndex.html#addServiceListener(ServiceListener,%20java.lang.String)">addServiceListener(ServiceListener, String)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/FilterIndex.html" title="interface in org.apache.felix.dm">FilterIndex</a></dt>
<dd>
<div class="block">Adds a service listener to this filter index.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/tracker/AbstractCustomizerActionSet.html#appendActionSet(org.apache.felix.dm.tracker.AbstractCustomizerActionSet)">appendActionSet(AbstractCustomizerActionSet)</a></span> - Method in class org.apache.felix.dm.tracker.<a href="./org/apache/felix/dm/tracker/AbstractCustomizerActionSet.html" title="class in org.apache.felix.dm.tracker">AbstractCustomizerActionSet</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/DependencyManager.html#ASPECT">ASPECT</a></span> - Static variable in class org.apache.felix.dm.<a href="./org/apache/felix/dm/DependencyManager.html" title="class in org.apache.felix.dm">DependencyManager</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="_B_">
<!--   -->
</a>
<h2 class="title">B</h2>
<dl>
<dt><a href="./org/apache/felix/dm/BundleDependency.html" title="interface in org.apache.felix.dm"><span class="strong">BundleDependency</span></a> - Interface in <a href="./org/apache/felix/dm/package-summary.html">org.apache.felix.dm</a></dt>
<dd>&nbsp;</dd>
<dt><a href="./org/apache/felix/dm/tracker/BundleTracker.html" title="class in org.apache.felix.dm.tracker"><span class="strong">BundleTracker</span></a> - Class in <a href="./org/apache/felix/dm/tracker/package-summary.html">org.apache.felix.dm.tracker</a></dt>
<dd>
<div class="block">The <code>BundleTracker</code> class simplifies tracking bundles much like
 the <code>ServiceTracker</code> simplifies tracking services.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/tracker/BundleTracker.html#BundleTracker(BundleContext,%20int,%20org.apache.felix.dm.tracker.BundleTrackerCustomizer)">BundleTracker(BundleContext, int, BundleTrackerCustomizer)</a></span> - Constructor for class org.apache.felix.dm.tracker.<a href="./org/apache/felix/dm/tracker/BundleTracker.html" title="class in org.apache.felix.dm.tracker">BundleTracker</a></dt>
<dd>
<div class="block">Create a <code>BundleTracker</code> for bundles whose state is present in
 the specified state mask.</div>
</dd>
<dt><a href="./org/apache/felix/dm/tracker/BundleTrackerCustomizer.html" title="interface in org.apache.felix.dm.tracker"><span class="strong">BundleTrackerCustomizer</span></a> - Interface in <a href="./org/apache/felix/dm/tracker/package-summary.html">org.apache.felix.dm.tracker</a></dt>
<dd>
<div class="block">The <code>BundleTrackerCustomizer</code> interface allows a
 <code>BundleTracker</code> to customize the <code>Bundle</code>s that are
 tracked.</div>
</dd>
</dl>
<a name="_C_">
<!--   -->
</a>
<h2 class="title">C</h2>
<dl>
<dt><span class="strong"><a href="./org/apache/felix/dm/ComponentStateListener.html#changed(org.apache.felix.dm.Component,%20org.apache.felix.dm.ComponentState)">changed(Component, ComponentState)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/ComponentStateListener.html" title="interface in org.apache.felix.dm">ComponentStateListener</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/ResourceHandler.html#changed(java.net.URL)">changed(URL)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/ResourceHandler.html" title="interface in org.apache.felix.dm">ResourceHandler</a></dt>
<dd>
<div class="block"><span class="strong">Deprecated.</span>
<div class="block"><i>Please use <a href="./org/apache/felix/dm/ResourceHandler.html#changed(java.net.URL,%20java.util.Dictionary)"><code>ResourceHandler.changed(URL, Dictionary)</code></a> instead. When both are specified,
     the new method takes precedence and the deprecated one is not invoked.</i></div>
</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/ResourceHandler.html#changed(java.net.URL,%20java.util.Dictionary)">changed(URL, Dictionary&lt;?, ?&gt;)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/ResourceHandler.html" title="interface in org.apache.felix.dm">ResourceHandler</a></dt>
<dd>
<div class="block">Invoked whenever an existing resource changes.</div>
</dd>
<dt><a href="./org/apache/felix/dm/diagnostics/CircularDependency.html" title="class in org.apache.felix.dm.diagnostics"><span class="strong">CircularDependency</span></a> - Class in <a href="./org/apache/felix/dm/diagnostics/package-summary.html">org.apache.felix.dm.diagnostics</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/diagnostics/CircularDependency.html#CircularDependency()">CircularDependency()</a></span> - Constructor for class org.apache.felix.dm.diagnostics.<a href="./org/apache/felix/dm/diagnostics/CircularDependency.html" title="class in org.apache.felix.dm.diagnostics">CircularDependency</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/DependencyManager.html#clear()">clear()</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/DependencyManager.html" title="class in org.apache.felix.dm">DependencyManager</a></dt>
<dd>
<div class="block">Removes all components and their dependencies.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/Event.html#close()">close()</a></span> - Method in class org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/Event.html" title="class in org.apache.felix.dm.context">Event</a></dt>
<dd>
<div class="block">Release the resources this event is holding (like service reference for example).</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/FilterIndex.html#close()">close()</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/FilterIndex.html" title="interface in org.apache.felix.dm">FilterIndex</a></dt>
<dd>
<div class="block">Closes this filter index.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/tracker/BundleTracker.html#close()">close()</a></span> - Method in class org.apache.felix.dm.tracker.<a href="./org/apache/felix/dm/tracker/BundleTracker.html" title="class in org.apache.felix.dm.tracker">BundleTracker</a></dt>
<dd>
<div class="block">Close this <code>BundleTracker</code>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/tracker/ServiceTracker.html#close()">close()</a></span> - Method in class org.apache.felix.dm.tracker.<a href="./org/apache/felix/dm/tracker/ServiceTracker.html" title="class in org.apache.felix.dm.tracker">ServiceTracker</a></dt>
<dd>
<div class="block">Close this <code>ServiceTracker</code>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/Event.html#compareTo(org.apache.felix.dm.context.Event)">compareTo(Event)</a></span> - Method in class org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/Event.html" title="class in org.apache.felix.dm.context">Event</a></dt>
<dd>&nbsp;</dd>
<dt><a href="./org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm"><span class="strong">Component</span></a> - Interface in <a href="./org/apache/felix/dm/package-summary.html">org.apache.felix.dm</a></dt>
<dd>
<div class="block">Component interface.</div>
</dd>
<dt><a href="./org/apache/felix/dm/context/ComponentContext.html" title="interface in org.apache.felix.dm.context"><span class="strong">ComponentContext</span></a> - Interface in <a href="./org/apache/felix/dm/context/package-summary.html">org.apache.felix.dm.context</a></dt>
<dd>
<div class="block">This interface is the entry point to the Component implementation context.</div>
</dd>
<dt><a href="./org/apache/felix/dm/ComponentDeclaration.html" title="interface in org.apache.felix.dm"><span class="strong">ComponentDeclaration</span></a> - Interface in <a href="./org/apache/felix/dm/package-summary.html">org.apache.felix.dm</a></dt>
<dd>
<div class="block">Describes a component.</div>
</dd>
<dt><a href="./org/apache/felix/dm/ComponentDependencyDeclaration.html" title="interface in org.apache.felix.dm"><span class="strong">ComponentDependencyDeclaration</span></a> - Interface in <a href="./org/apache/felix/dm/package-summary.html">org.apache.felix.dm</a></dt>
<dd>
<div class="block">Describes a component dependency.</div>
</dd>
<dt><a href="./org/apache/felix/dm/ComponentExecutorFactory.html" title="interface in org.apache.felix.dm"><span class="strong">ComponentExecutorFactory</span></a> - Interface in <a href="./org/apache/felix/dm/package-summary.html">org.apache.felix.dm</a></dt>
<dd>
<div class="block">A <code>ComponentExecutorFactory</code> service can be registered by any management agent bundle 
 in order to enable parallel activation of Components.</div>
</dd>
<dt><a href="./org/apache/felix/dm/ComponentState.html" title="enum in org.apache.felix.dm"><span class="strong">ComponentState</span></a> - Enum in <a href="./org/apache/felix/dm/package-summary.html">org.apache.felix.dm</a></dt>
<dd>
<div class="block">Component states.</div>
</dd>
<dt><a href="./org/apache/felix/dm/ComponentStateListener.html" title="interface in org.apache.felix.dm"><span class="strong">ComponentStateListener</span></a> - Interface in <a href="./org/apache/felix/dm/package-summary.html">org.apache.felix.dm</a></dt>
<dd>
<div class="block">This interface can be used to register a component state listener.</div>
</dd>
<dt><a href="./org/apache/felix/dm/ConfigurationDependency.html" title="interface in org.apache.felix.dm"><span class="strong">ConfigurationDependency</span></a> - Interface in <a href="./org/apache/felix/dm/package-summary.html">org.apache.felix.dm</a></dt>
<dd>
<div class="block">Configuration dependency that can track the availability of a (valid) configuration.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/tracker/BundleTracker.html#context">context</a></span> - Variable in class org.apache.felix.dm.tracker.<a href="./org/apache/felix/dm/tracker/BundleTracker.html" title="class in org.apache.felix.dm.tracker">BundleTracker</a></dt>
<dd>
<div class="block">The Bundle Context used by this <code>BundleTracker</code>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/tracker/ServiceTracker.html#context">context</a></span> - Variable in class org.apache.felix.dm.tracker.<a href="./org/apache/felix/dm/tracker/ServiceTracker.html" title="class in org.apache.felix.dm.tracker">ServiceTracker</a></dt>
<dd>
<div class="block">The Bundle Context used by this <code>ServiceTracker</code>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/AbstractDependency.html#copyToCollection(java.util.Collection)">copyToCollection(Collection&lt;Object&gt;)</a></span> - Method in class org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/AbstractDependency.html" title="class in org.apache.felix.dm.context">AbstractDependency</a></dt>
<dd>
<div class="block">Copy all dependency service instances to the given collection.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/DependencyContext.html#copyToCollection(java.util.Collection)">copyToCollection(Collection&lt;Object&gt;)</a></span> - Method in interface org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/DependencyContext.html" title="interface in org.apache.felix.dm.context">DependencyContext</a></dt>
<dd>
<div class="block">Copies all the dependency service instances to the given collection.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/AbstractDependency.html#copyToMap(java.util.Map)">copyToMap(Map&lt;Object, Dictionary&lt;?, ?&gt;&gt;)</a></span> - Method in class org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/AbstractDependency.html" title="class in org.apache.felix.dm.context">AbstractDependency</a></dt>
<dd>
<div class="block">Copy all dependency service instances to the given map (key = dependency service, value = dependency service properties.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/DependencyContext.html#copyToMap(java.util.Map)">copyToMap(Map&lt;Object, Dictionary&lt;?, ?&gt;&gt;)</a></span> - Method in interface org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/DependencyContext.html" title="interface in org.apache.felix.dm.context">DependencyContext</a></dt>
<dd>
<div class="block">Copies all the dependency service instances to the given map (key = dependency service, value = dependency servie properties).</div>
</dd>
<dt><span class="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(String, String, boolean, String, String, String, PropertyMetaData[])</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/DependencyManager.html" title="class in org.apache.felix.dm">DependencyManager</a></dt>
<dd>
<div class="block">Creates a new Managed Service Factory Configuration Adapter with meta type support.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/DependencyActivatorBase.html#createAdapterService(java.lang.Class,%20java.lang.String)">createAdapterService(Class&lt;?&gt;, String)</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/DependencyActivatorBase.html" title="class in org.apache.felix.dm">DependencyActivatorBase</a></dt>
<dd>
<div class="block">Creates a new adapter service.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/DependencyActivatorBase.html#createAdapterService(java.lang.Class,%20java.lang.String,%20java.lang.String)">createAdapterService(Class&lt;?&gt;, String, String)</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/DependencyActivatorBase.html" title="class in org.apache.felix.dm">DependencyActivatorBase</a></dt>
<dd>
<div class="block">Creates a new adapter service.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/DependencyActivatorBase.html#createAdapterService(java.lang.Class,%20java.lang.String,%20java.lang.String,%20java.lang.String,%20java.lang.String)">createAdapterService(Class&lt;?&gt;, String, String, String, String)</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/DependencyActivatorBase.html" title="class in org.apache.felix.dm">DependencyActivatorBase</a></dt>
<dd>
<div class="block">Creates a new adapter service.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/DependencyActivatorBase.html#createAdapterService(java.lang.Class,%20java.lang.String,%20java.lang.String,%20java.lang.String,%20java.lang.String,%20java.lang.String)">createAdapterService(Class&lt;?&gt;, String, String, String, String, String)</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/DependencyActivatorBase.html" title="class in org.apache.felix.dm">DependencyActivatorBase</a></dt>
<dd>
<div class="block">Creates a new adapter service.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/DependencyActivatorBase.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)">createAdapterService(Class&lt;?&gt;, String, String, Object, String, String, String, String)</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/DependencyActivatorBase.html" title="class in org.apache.felix.dm">DependencyActivatorBase</a></dt>
<dd>
<div class="block">Creates a new adapter service.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/DependencyActivatorBase.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(Class&lt;?&gt;, String, String, Object, String, String, String, String, boolean)</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/DependencyActivatorBase.html" title="class in org.apache.felix.dm">DependencyActivatorBase</a></dt>
<dd>
<div class="block">Creates a new adapter service.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/DependencyManager.html#createAdapterService(java.lang.Class,%20java.lang.String)">createAdapterService(Class&lt;?&gt;, String)</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/DependencyManager.html" title="class in org.apache.felix.dm">DependencyManager</a></dt>
<dd>
<div class="block">Creates a new adapter.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/DependencyManager.html#createAdapterService(java.lang.Class,%20java.lang.String,%20java.lang.String)">createAdapterService(Class&lt;?&gt;, String, String)</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/DependencyManager.html" title="class in org.apache.felix.dm">DependencyManager</a></dt>
<dd>
<div class="block">Creates a new adapter.</div>
</dd>
<dt><span class="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(Class&lt;?&gt;, String, String, String, String)</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/DependencyManager.html" title="class in org.apache.felix.dm">DependencyManager</a></dt>
<dd>
<div class="block">Creates a new adapter.</div>
</dd>
<dt><span class="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(Class&lt;?&gt;, String, String, String, String, String)</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/DependencyManager.html" title="class in org.apache.felix.dm">DependencyManager</a></dt>
<dd>
<div class="block">Creates a new adapter.</div>
</dd>
<dt><span class="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(Class&lt;?&gt;, String, String, Object, String, String, String, String, boolean)</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/DependencyManager.html" title="class in org.apache.felix.dm">DependencyManager</a></dt>
<dd>
<div class="block">Creates a new adapter.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/DependencyActivatorBase.html#createAspectService(java.lang.Class,%20java.lang.String,%20int,%20java.lang.String)">createAspectService(Class&lt;?&gt;, String, int, String)</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/DependencyActivatorBase.html" title="class in org.apache.felix.dm">DependencyActivatorBase</a></dt>
<dd>
<div class="block">Creates a new aspect service.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/DependencyActivatorBase.html#createAspectService(java.lang.Class,%20java.lang.String,%20int)">createAspectService(Class&lt;?&gt;, String, int)</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/DependencyActivatorBase.html" title="class in org.apache.felix.dm">DependencyActivatorBase</a></dt>
<dd>
<div class="block">Creates a new aspect service.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/DependencyActivatorBase.html#createAspectService(java.lang.Class,%20java.lang.String,%20int,%20java.lang.String,%20java.lang.String,%20java.lang.String)">createAspectService(Class&lt;?&gt;, String, int, String, String, String)</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/DependencyActivatorBase.html" title="class in org.apache.felix.dm">DependencyActivatorBase</a></dt>
<dd>
<div class="block">Creates a new aspect service.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/DependencyActivatorBase.html#createAspectService(java.lang.Class,%20java.lang.String,%20int,%20java.lang.String,%20java.lang.String,%20java.lang.String,%20java.lang.String)">createAspectService(Class&lt;?&gt;, String, int, String, String, String, String)</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/DependencyActivatorBase.html" title="class in org.apache.felix.dm">DependencyActivatorBase</a></dt>
<dd>
<div class="block">Creates a new aspect service.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/DependencyManager.html#createAspectService(java.lang.Class,%20java.lang.String,%20int,%20java.lang.String)">createAspectService(Class&lt;?&gt;, String, int, String)</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/DependencyManager.html" title="class in org.apache.felix.dm">DependencyManager</a></dt>
<dd>
<div class="block">Creates a new aspect.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/DependencyManager.html#createAspectService(java.lang.Class,%20java.lang.String,%20int)">createAspectService(Class&lt;?&gt;, String, int)</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/DependencyManager.html" title="class in org.apache.felix.dm">DependencyManager</a></dt>
<dd>
<div class="block">Creates a new aspect.</div>
</dd>
<dt><span class="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(Class&lt;?&gt;, String, int, String, String, String)</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/DependencyManager.html" title="class in org.apache.felix.dm">DependencyManager</a></dt>
<dd>
<div class="block">Creates a new aspect.</div>
</dd>
<dt><span class="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(Class&lt;?&gt;, String, int, String, String, String, String)</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/DependencyManager.html" title="class in org.apache.felix.dm">DependencyManager</a></dt>
<dd>
<div class="block">Creates a new aspect.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/DependencyActivatorBase.html#createBundleAdapterService(int,%20java.lang.String,%20boolean)">createBundleAdapterService(int, String, boolean)</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/DependencyActivatorBase.html" title="class in org.apache.felix.dm">DependencyActivatorBase</a></dt>
<dd>
<div class="block">Creates a new bundle adapter service.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/DependencyActivatorBase.html#createBundleAdapterService(int,%20java.lang.String,%20boolean,%20java.lang.Object,%20java.lang.String,%20java.lang.String,%20java.lang.String)">createBundleAdapterService(int, String, boolean, Object, String, String, String)</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/DependencyActivatorBase.html" title="class in org.apache.felix.dm">DependencyActivatorBase</a></dt>
<dd>
<div class="block">Creates a new bundle adapter service, using a specific callback instance</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/DependencyManager.html#createBundleAdapterService(int,%20java.lang.String,%20boolean)">createBundleAdapterService(int, String, boolean)</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/DependencyManager.html" title="class in org.apache.felix.dm">DependencyManager</a></dt>
<dd>
<div class="block">Creates a new bundle adapter.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/DependencyManager.html#createBundleAdapterService(int,%20java.lang.String,%20boolean,%20java.lang.Object,%20java.lang.String,%20java.lang.String,%20java.lang.String)">createBundleAdapterService(int, String, boolean, Object, String, String, String)</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/DependencyManager.html" title="class in org.apache.felix.dm">DependencyManager</a></dt>
<dd>
<div class="block">Creates a new bundle adapter using specific callback instance.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/DependencyActivatorBase.html#createBundleDependency()">createBundleDependency()</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/DependencyActivatorBase.html" title="class in org.apache.felix.dm">DependencyActivatorBase</a></dt>
<dd>
<div class="block">Creates a new bundle dependency.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/DependencyManager.html#createBundleDependency()">createBundleDependency()</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/DependencyManager.html" title="class in org.apache.felix.dm">DependencyManager</a></dt>
<dd>
<div class="block">Creates a new bundle dependency.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/DependencyActivatorBase.html#createComponent()">createComponent()</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/DependencyActivatorBase.html" title="class in org.apache.felix.dm">DependencyActivatorBase</a></dt>
<dd>
<div class="block">Creates a new component.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/DependencyManager.html#createComponent()">createComponent()</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/DependencyManager.html" title="class in org.apache.felix.dm">DependencyManager</a></dt>
<dd>
<div class="block">Creates a new component.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/DependencyActivatorBase.html#createConfigurationDependency()">createConfigurationDependency()</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/DependencyActivatorBase.html" title="class in org.apache.felix.dm">DependencyActivatorBase</a></dt>
<dd>
<div class="block">Creates a new configuration dependency.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/DependencyManager.html#createConfigurationDependency()">createConfigurationDependency()</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/DependencyManager.html" title="class in org.apache.felix.dm">DependencyManager</a></dt>
<dd>
<div class="block">Creates a new configuration dependency.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/AbstractDependency.html#createCopy()">createCopy()</a></span> - Method in class org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/AbstractDependency.html" title="class in org.apache.felix.dm.context">AbstractDependency</a></dt>
<dd>
<div class="block">Creates a copy of this Dependency.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/DependencyContext.html#createCopy()">createCopy()</a></span> - Method in interface org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/DependencyContext.html" title="interface in org.apache.felix.dm.context">DependencyContext</a></dt>
<dd>
<div class="block">Creates a clone of this dependency.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/DependencyActivatorBase.html#createFactoryConfigurationAdapterService(java.lang.String,%20java.lang.String,%20boolean)">createFactoryConfigurationAdapterService(String, String, boolean)</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/DependencyActivatorBase.html" title="class in org.apache.felix.dm">DependencyActivatorBase</a></dt>
<dd>
<div class="block">Creates a new factory configuration adapter service.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/DependencyActivatorBase.html#createFactoryConfigurationAdapterService(java.lang.String,%20java.lang.String,%20boolean,%20java.lang.Object)">createFactoryConfigurationAdapterService(String, String, boolean, Object)</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/DependencyActivatorBase.html" title="class in org.apache.felix.dm">DependencyActivatorBase</a></dt>
<dd>
<div class="block">Creates a new factory configuration adapter service, using a specific callback instance</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/DependencyActivatorBase.html#createFactoryConfigurationAdapterService(java.lang.String,%20java.lang.String,%20boolean,%20java.lang.String,%20java.lang.String,%20java.lang.String,%20org.apache.felix.dm.PropertyMetaData[])">createFactoryConfigurationAdapterService(String, String, boolean, String, String, String, PropertyMetaData[])</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/DependencyActivatorBase.html" title="class in org.apache.felix.dm">DependencyActivatorBase</a></dt>
<dd>
<div class="block">Creates a new factory configuration adapter service.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/DependencyManager.html#createFactoryConfigurationAdapterService(java.lang.String,%20java.lang.String,%20boolean)">createFactoryConfigurationAdapterService(String, String, boolean)</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/DependencyManager.html" title="class in org.apache.felix.dm">DependencyManager</a></dt>
<dd>
<div class="block">Creates a new Managed Service Factory Configuration Adapter.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/DependencyManager.html#createFactoryConfigurationAdapterService(java.lang.String,%20java.lang.String,%20boolean,%20java.lang.Object)">createFactoryConfigurationAdapterService(String, String, boolean, Object)</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/DependencyManager.html" title="class in org.apache.felix.dm">DependencyManager</a></dt>
<dd>
<div class="block">Creates a new Managed Service Factory Configuration Adapter using a specific update callback instance.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/ResourceUtil.html#createProperties(java.net.URL)">createProperties(URL)</a></span> - Static method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/ResourceUtil.html" title="class in org.apache.felix.dm">ResourceUtil</a></dt>
<dd>
<div class="block">Creates a set of properties for a resource based on its URL.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/DependencyActivatorBase.html#createPropertyMetaData()">createPropertyMetaData()</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/DependencyActivatorBase.html" title="class in org.apache.felix.dm">DependencyActivatorBase</a></dt>
<dd>
<div class="block">Creates a new configuration property metadata.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/DependencyManager.html#createPropertyMetaData()">createPropertyMetaData()</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/DependencyManager.html" title="class in org.apache.felix.dm">DependencyManager</a></dt>
<dd>
<div class="block">Creates a new configuration property metadata.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/DependencyActivatorBase.html#createResourceAdapter(java.lang.String,%20boolean,%20java.lang.Object,%20java.lang.String)">createResourceAdapter(String, boolean, Object, String)</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/DependencyActivatorBase.html" title="class in org.apache.felix.dm">DependencyActivatorBase</a></dt>
<dd>
<div class="block">Creates a new resource adapter service.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/DependencyActivatorBase.html#createResourceAdapter(java.lang.String,%20boolean,%20java.lang.Object,%20java.lang.String,%20java.lang.String)">createResourceAdapter(String, boolean, Object, String, String)</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/DependencyActivatorBase.html" title="class in org.apache.felix.dm">DependencyActivatorBase</a></dt>
<dd>
<div class="block">Creates a new resource adapter service.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/DependencyActivatorBase.html#createResourceAdapter(java.lang.String,%20java.lang.Object,%20java.lang.String,%20java.lang.Object,%20java.lang.String)">createResourceAdapter(String, Object, String, Object, String)</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/DependencyActivatorBase.html" title="class in org.apache.felix.dm">DependencyActivatorBase</a></dt>
<dd>
<div class="block">Creates a new resource adapter service.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/DependencyActivatorBase.html#createResourceAdapter(java.lang.String,%20java.lang.Object,%20java.lang.String,%20java.lang.Object,%20java.lang.String,%20java.lang.String)">createResourceAdapter(String, Object, String, Object, String, String)</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/DependencyActivatorBase.html" title="class in org.apache.felix.dm">DependencyActivatorBase</a></dt>
<dd>
<div class="block">Creates a new resource adapter service.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/DependencyManager.html#createResourceAdapterService(java.lang.String,%20boolean,%20java.lang.Object,%20java.lang.String)">createResourceAdapterService(String, boolean, Object, String)</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/DependencyManager.html" title="class in org.apache.felix.dm">DependencyManager</a></dt>
<dd>
<div class="block">Creates a new resource adapter.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/DependencyManager.html#createResourceAdapterService(java.lang.String,%20boolean,%20java.lang.Object,%20java.lang.String,%20java.lang.String)">createResourceAdapterService(String, boolean, Object, String, String)</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/DependencyManager.html" title="class in org.apache.felix.dm">DependencyManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="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(String, Object, String, Object, String)</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/DependencyManager.html" title="class in org.apache.felix.dm">DependencyManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="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(String, Object, String, Object, String, String)</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/DependencyManager.html" title="class in org.apache.felix.dm">DependencyManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/DependencyActivatorBase.html#createResourceDependency()">createResourceDependency()</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/DependencyActivatorBase.html" title="class in org.apache.felix.dm">DependencyActivatorBase</a></dt>
<dd>
<div class="block">Creates a new resource dependency.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/DependencyManager.html#createResourceDependency()">createResourceDependency()</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/DependencyManager.html" title="class in org.apache.felix.dm">DependencyManager</a></dt>
<dd>
<div class="block">Creates a new resource dependency.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/DependencyActivatorBase.html#createServiceDependency()">createServiceDependency()</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/DependencyActivatorBase.html" title="class in org.apache.felix.dm">DependencyActivatorBase</a></dt>
<dd>
<div class="block">Creates a new service dependency.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/DependencyManager.html#createServiceDependency()">createServiceDependency()</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/DependencyManager.html" title="class in org.apache.felix.dm">DependencyManager</a></dt>
<dd>
<div class="block">Creates a new service dependency.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/DependencyActivatorBase.html#createTemporalServiceDependency(long)">createTemporalServiceDependency(long)</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/DependencyActivatorBase.html" title="class in org.apache.felix.dm">DependencyActivatorBase</a></dt>
<dd>
<div class="block">Creates a new temporal service dependency.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/DependencyManager.html#createTemporalServiceDependency(long)">createTemporalServiceDependency(long)</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/DependencyManager.html" title="class in org.apache.felix.dm">DependencyManager</a></dt>
<dd>
<div class="block">Creates a new timed required service dependency.</div>
</dd>
</dl>
<a name="_D_">
<!--   -->
</a>
<h2 class="title">D</h2>
<dl>
<dt><span class="strong"><a href="./org/apache/felix/dm/Logger.html#debug()">debug()</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/Logger.html" title="class in org.apache.felix.dm">Logger</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/Logger.html#debug(java.lang.String,%20java.lang.Object...)">debug(String, Object...)</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/Logger.html" title="class in org.apache.felix.dm">Logger</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/Logger.html#debug(java.lang.String,%20java.lang.Throwable,%20java.lang.Object...)">debug(String, Throwable, Object...)</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/Logger.html" title="class in org.apache.felix.dm">Logger</a></dt>
<dd>&nbsp;</dd>
<dt><a href="./org/apache/felix/dm/Dependency.html" title="interface in org.apache.felix.dm"><span class="strong">Dependency</span></a> - Interface in <a href="./org/apache/felix/dm/package-summary.html">org.apache.felix.dm</a></dt>
<dd>
<div class="block">Generic dependency for a component.</div>
</dd>
<dt><a href="./org/apache/felix/dm/DependencyActivatorBase.html" title="class in org.apache.felix.dm"><span class="strong">DependencyActivatorBase</span></a> - Class in <a href="./org/apache/felix/dm/package-summary.html">org.apache.felix.dm</a></dt>
<dd>
<div class="block">Base bundle activator class.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/DependencyActivatorBase.html#DependencyActivatorBase()">DependencyActivatorBase()</a></span> - Constructor for class org.apache.felix.dm.<a href="./org/apache/felix/dm/DependencyActivatorBase.html" title="class in org.apache.felix.dm">DependencyActivatorBase</a></dt>
<dd>&nbsp;</dd>
<dt><a href="./org/apache/felix/dm/context/DependencyContext.html" title="interface in org.apache.felix.dm.context"><span class="strong">DependencyContext</span></a> - Interface in <a href="./org/apache/felix/dm/context/package-summary.html">org.apache.felix.dm.context</a></dt>
<dd>
<div class="block">Every DependencyManager Dependency implementations must implement this interface.</div>
</dd>
<dt><a href="./org/apache/felix/dm/diagnostics/DependencyGraph.html" title="class in org.apache.felix.dm.diagnostics"><span class="strong">DependencyGraph</span></a> - Class in <a href="./org/apache/felix/dm/diagnostics/package-summary.html">org.apache.felix.dm.diagnostics</a></dt>
<dd>
<div class="block">The dependency graph is a view of all components managed by the dependency manager 
 and of their dependencies.</div>
</dd>
<dt><a href="./org/apache/felix/dm/diagnostics/DependencyGraph.ComponentState.html" title="enum in org.apache.felix.dm.diagnostics"><span class="strong">DependencyGraph.ComponentState</span></a> - Enum in <a href="./org/apache/felix/dm/diagnostics/package-summary.html">org.apache.felix.dm.diagnostics</a></dt>
<dd>
<div class="block">Use this to specify which components the dependency graph should contain</div>
</dd>
<dt><a href="./org/apache/felix/dm/diagnostics/DependencyGraph.DependencyState.html" title="enum in org.apache.felix.dm.diagnostics"><span class="strong">DependencyGraph.DependencyState</span></a> - Enum in <a href="./org/apache/felix/dm/diagnostics/package-summary.html">org.apache.felix.dm.diagnostics</a></dt>
<dd>
<div class="block">Use this to specify which dependencies the graph should contain</div>
</dd>
<dt><a href="./org/apache/felix/dm/DependencyManager.html" title="class in org.apache.felix.dm"><span class="strong">DependencyManager</span></a> - Class in <a href="./org/apache/felix/dm/package-summary.html">org.apache.felix.dm</a></dt>
<dd>
<div class="block">The dependency manager manages all components and their dependencies.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/DependencyManager.html#DependencyManager(BundleContext)">DependencyManager(BundleContext)</a></span> - Constructor for class org.apache.felix.dm.<a href="./org/apache/felix/dm/DependencyManager.html" title="class in org.apache.felix.dm">DependencyManager</a></dt>
<dd>
<div class="block">Creates a new dependency manager.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/DependencyActivatorBase.html#destroy(BundleContext,%20org.apache.felix.dm.DependencyManager)">destroy(BundleContext, DependencyManager)</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/DependencyActivatorBase.html" title="class in org.apache.felix.dm">DependencyActivatorBase</a></dt>
<dd>
<div class="block">Destroy the dependency manager.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/Logger.html#doLog(ServiceReference,%20int,%20java.lang.String,%20java.lang.Throwable)">doLog(ServiceReference, int, String, Throwable)</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/Logger.html" title="class in org.apache.felix.dm">Logger</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="_E_">
<!--   -->
</a>
<h2 class="title">E</h2>
<dl>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/AbstractDependency.html#EMPTY_PROPERTIES">EMPTY_PROPERTIES</a></span> - Static variable in class org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/AbstractDependency.html" title="class in org.apache.felix.dm.context">AbstractDependency</a></dt>
<dd>
<div class="block">Default empty dependency properties.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/Event.html#EMPTY_PROPERTIES">EMPTY_PROPERTIES</a></span> - Static variable in class org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/Event.html" title="class in org.apache.felix.dm.context">Event</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/AbstractDependency.html#ensureNotActive()">ensureNotActive()</a></span> - Method in class org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/AbstractDependency.html" title="class in org.apache.felix.dm.context">AbstractDependency</a></dt>
<dd>
<div class="block">Checks if the component dependency is not started.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/Event.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/Event.html" title="class in org.apache.felix.dm.context">Event</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/Logger.html#err(java.lang.String,%20java.lang.Object...)">err(String, Object...)</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/Logger.html" title="class in org.apache.felix.dm">Logger</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/Logger.html#err(java.lang.String,%20java.lang.Throwable,%20java.lang.Object...)">err(String, Throwable, Object...)</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/Logger.html" title="class in org.apache.felix.dm">Logger</a></dt>
<dd>&nbsp;</dd>
<dt><a href="./org/apache/felix/dm/context/Event.html" title="class in org.apache.felix.dm.context"><span class="strong">Event</span></a> - Class in <a href="./org/apache/felix/dm/context/package-summary.html">org.apache.felix.dm.context</a></dt>
<dd>
<div class="block">An event holds all data that belongs to some external event as it comes in via
 the 'changed' callback of a dependency.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/Event.html#Event(java.lang.Object)">Event(Object)</a></span> - Constructor for class org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/Event.html" title="class in org.apache.felix.dm.context">Event</a></dt>
<dd>&nbsp;</dd>
<dt><a href="./org/apache/felix/dm/context/EventType.html" title="enum in org.apache.felix.dm.context"><span class="strong">EventType</span></a> - Enum in <a href="./org/apache/felix/dm/context/package-summary.html">org.apache.felix.dm.context</a></dt>
<dd>
<div class="block">Types of dependency events</div>
</dd>
</dl>
<a name="_F_">
<!--   -->
</a>
<h2 class="title">F</h2>
<dl>
<dt><span class="strong"><a href="./org/apache/felix/dm/ResourceHandler.html#FILTER">FILTER</a></span> - Static variable in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/ResourceHandler.html" title="interface in org.apache.felix.dm">ResourceHandler</a></dt>
<dd>
<div class="block">Name of the property that's used to describe the filter condition for a resource.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/tracker/ServiceTracker.html#filter">filter</a></span> - Variable in class org.apache.felix.dm.tracker.<a href="./org/apache/felix/dm/tracker/ServiceTracker.html" title="class in org.apache.felix.dm.tracker">ServiceTracker</a></dt>
<dd>
<div class="block">The Filter used by this <code>ServiceTracker</code> which specifies the
 search criteria for the services to track.</div>
</dd>
<dt><a href="./org/apache/felix/dm/FilterIndex.html" title="interface in org.apache.felix.dm"><span class="strong">FilterIndex</span></a> - Interface in <a href="./org/apache/felix/dm/package-summary.html">org.apache.felix.dm</a></dt>
<dd>
<div class="block">A filter index is an interface you can implement to create your own, optimized index for specific filter expressions.</div>
</dd>
</dl>
<a name="_G_">
<!--   -->
</a>
<h2 class="title">G</h2>
<dl>
<dt><span class="strong"><a href="./org/apache/felix/dm/tracker/AbstractCustomizerActionSet.html#getActions()">getActions()</a></span> - Method in class org.apache.felix.dm.tracker.<a href="./org/apache/felix/dm/tracker/AbstractCustomizerActionSet.html" title="class in org.apache.felix.dm.tracker">AbstractCustomizerActionSet</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/diagnostics/DependencyGraph.html#getAllComponents()">getAllComponents()</a></span> - Method in class org.apache.felix.dm.diagnostics.<a href="./org/apache/felix/dm/diagnostics/DependencyGraph.html" title="class in org.apache.felix.dm.diagnostics">DependencyGraph</a></dt>
<dd>
<div class="block">Returns the list of components in the graph</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/diagnostics/DependencyGraph.html#getAllDependencies()">getAllDependencies()</a></span> - Method in class org.apache.felix.dm.diagnostics.<a href="./org/apache/felix/dm/diagnostics/DependencyGraph.html" title="class in org.apache.felix.dm.diagnostics">DependencyGraph</a></dt>
<dd>
<div class="block">Returns a list all dependencies in the graph</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/FilterIndex.html#getAllServiceReferences(java.lang.String,%20java.lang.String)">getAllServiceReferences(String, String)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/FilterIndex.html" title="interface in org.apache.felix.dm">FilterIndex</a></dt>
<dd>
<div class="block">Returns all service references that match the specified class and filter.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/ComponentContext.html#getAutoConfig(java.lang.Class)">getAutoConfig(Class&lt;?&gt;)</a></span> - Method in interface org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/ComponentContext.html" title="interface in org.apache.felix.dm.context">ComponentContext</a></dt>
<dd>
<div class="block">Indicates if an object of the given class can be injected in one field of the component</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/ComponentContext.html#getAutoConfigInstance(java.lang.Class)">getAutoConfigInstance(Class&lt;?&gt;)</a></span> - Method in interface org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/ComponentContext.html" title="interface in org.apache.felix.dm.context">ComponentContext</a></dt>
<dd>
<div class="block">Returns the component instance field that is assignable to a given class type</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/AbstractDependency.html#getAutoConfigName()">getAutoConfigName()</a></span> - Method in class org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/AbstractDependency.html" title="class in org.apache.felix.dm.context">AbstractDependency</a></dt>
<dd>
<div class="block">Returns the field name when the dependency can be injected to.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/Dependency.html#getAutoConfigName()">getAutoConfigName()</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/Dependency.html" title="interface in org.apache.felix.dm">Dependency</a></dt>
<dd>
<div class="block">Returns the name of the member in the class of the component instance
 to inject into.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/AbstractDependency.html#getAutoConfigType()">getAutoConfigType()</a></span> - Method in class org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/AbstractDependency.html" title="class in org.apache.felix.dm.context">AbstractDependency</a></dt>
<dd>
<div class="block">Returns the type of the field where this dependency can be injected (auto config), or return null
 if autoconfig is not supported.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/DependencyContext.html#getAutoConfigType()">getAutoConfigType()</a></span> - Method in interface org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/DependencyContext.html" title="interface in org.apache.felix.dm.context">DependencyContext</a></dt>
<dd>
<div class="block">Returns the type of the field which can be injected with the dependency service.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/ComponentContext.html#getBundle()">getBundle()</a></span> - Method in interface org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/ComponentContext.html" title="interface in org.apache.felix.dm.context">ComponentContext</a></dt>
<dd>
<div class="block">Returns the Compoent's bundle.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/ComponentDeclaration.html#getBundleContext()">getBundleContext()</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/ComponentDeclaration.html" title="interface in org.apache.felix.dm">ComponentDeclaration</a></dt>
<dd>
<div class="block">Returns the bundle context associated with this component.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/ComponentContext.html#getBundleContext()">getBundleContext()</a></span> - Method in interface org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/ComponentContext.html" title="interface in org.apache.felix.dm.context">ComponentContext</a></dt>
<dd>
<div class="block">Returns the Component's bundle context</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/DependencyActivatorBase.html#getBundleContext()">getBundleContext()</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/DependencyActivatorBase.html" title="class in org.apache.felix.dm">DependencyActivatorBase</a></dt>
<dd>
<div class="block">Returns the bundle context that is associated with this bundle.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/DependencyManager.html#getBundleContext()">getBundleContext()</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/DependencyManager.html" title="class in org.apache.felix.dm">DependencyManager</a></dt>
<dd>
<div class="block">Returns the bundle context associated with this dependency manager.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/diagnostics/MissingDependency.html#getBundleName()">getBundleName()</a></span> - Method in class org.apache.felix.dm.diagnostics.<a href="./org/apache/felix/dm/diagnostics/MissingDependency.html" title="class in org.apache.felix.dm.diagnostics">MissingDependency</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/tracker/BundleTracker.html#getBundles()">getBundles()</a></span> - Method in class org.apache.felix.dm.tracker.<a href="./org/apache/felix/dm/tracker/BundleTracker.html" title="class in org.apache.felix.dm.tracker">BundleTracker</a></dt>
<dd>
<div class="block">Return an array of <code>Bundle</code>s for all bundles being tracked by
 this <code>BundleTracker</code>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/ComponentDeclaration.html#getCallbacksTime()">getCallbacksTime()</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/ComponentDeclaration.html" title="interface in org.apache.felix.dm">ComponentDeclaration</a></dt>
<dd>
<div class="block">Returns the execution time in nanos for each component callbacks (init/start/stop/destroy)</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/diagnostics/DependencyGraph.html#getCircularDependencies()">getCircularDependencies()</a></span> - Method in class org.apache.felix.dm.diagnostics.<a href="./org/apache/felix/dm/diagnostics/DependencyGraph.html" title="class in org.apache.felix.dm.diagnostics">DependencyGraph</a></dt>
<dd>
<div class="block">Returns the list of circular dependencies in the graph</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/ComponentDeclaration.html#getClassName()">getClassName()</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/ComponentDeclaration.html" title="interface in org.apache.felix.dm">ComponentDeclaration</a></dt>
<dd>
<div class="block">Returns the class name of the Component implementation.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/AbstractDependency.html#getComponentContext()">getComponentContext()</a></span> - Method in class org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/AbstractDependency.html" title="class in org.apache.felix.dm.context">AbstractDependency</a></dt>
<dd>
<div class="block">Returns the component implementation context</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/DependencyContext.html#getComponentContext()">getComponentContext()</a></span> - Method in interface org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/DependencyContext.html" title="interface in org.apache.felix.dm.context">DependencyContext</a></dt>
<dd>
<div class="block">Returns the Component implementation context associated to this Dependency context.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/Component.html#getComponentDeclaration()">getComponentDeclaration()</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a></dt>
<dd>
<div class="block">Returns the component description (dependencies, service provided, etc ...).</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/ComponentDeclaration.html#getComponentDependencies()">getComponentDependencies()</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/ComponentDeclaration.html" title="interface in org.apache.felix.dm">ComponentDeclaration</a></dt>
<dd>
<div class="block">Returns a list of dependencies associated with this component.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/DependencyManager.html#getComponents()">getComponents()</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/DependencyManager.html" title="class in org.apache.felix.dm">DependencyManager</a></dt>
<dd>
<div class="block">Returns a list of components.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/diagnostics/CircularDependency.html#getComponents()">getComponents()</a></span> - Method in class org.apache.felix.dm.diagnostics.<a href="./org/apache/felix/dm/diagnostics/CircularDependency.html" title="class in org.apache.felix.dm.diagnostics">CircularDependency</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/Logger.html#getDebugKey()">getDebugKey()</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/Logger.html" title="class in org.apache.felix.dm">Logger</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/AbstractDependency.html#getDefaultService(boolean)">getDefaultService(boolean)</a></span> - Method in class org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/AbstractDependency.html" title="class in org.apache.felix.dm.context">AbstractDependency</a></dt>
<dd>
<div class="block">Returns the default service, or null.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/diagnostics/DependencyGraph.html#getDependecies(org.apache.felix.dm.ComponentDeclaration)">getDependecies(ComponentDeclaration)</a></span> - Method in class org.apache.felix.dm.diagnostics.<a href="./org/apache/felix/dm/diagnostics/DependencyGraph.html" title="class in org.apache.felix.dm.diagnostics">DependencyGraph</a></dt>
<dd>
<div class="block">For a given component declaration, it returns a list of its dependencies in the state
 specified when the graph was built.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/ComponentContext.html#getDependencies()">getDependencies()</a></span> - Method in interface org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/ComponentContext.html" title="interface in org.apache.felix.dm.context">ComponentContext</a></dt>
<dd>
<div class="block">Returns the list of dependencies that has been registered on this component</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/ComponentContext.html#getDependencyEvent(org.apache.felix.dm.context.DependencyContext)">getDependencyEvent(DependencyContext)</a></span> - Method in interface org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/ComponentContext.html" title="interface in org.apache.felix.dm.context">ComponentContext</a></dt>
<dd>
<div class="block">Returns the highest ranked dependency service instance for a given dependency</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/ComponentContext.html#getDependencyEvents(org.apache.felix.dm.context.DependencyContext)">getDependencyEvents(DependencyContext)</a></span> - Method in interface org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/ComponentContext.html" title="interface in org.apache.felix.dm.context">ComponentContext</a></dt>
<dd>
<div class="block">Returns all the available dependency services for a given dependency</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/Component.html#getDependencyManager()">getDependencyManager()</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a></dt>
<dd>
<div class="block">Returns the dependency manager associated with this component.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/ComponentDeclaration.html#getDependencyManager()">getDependencyManager()</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/ComponentDeclaration.html" title="interface in org.apache.felix.dm">ComponentDeclaration</a></dt>
<dd>
<div class="block">Returns the dependency manager for this component</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/DependencyActivatorBase.html#getDependencyManager()">getDependencyManager()</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/DependencyActivatorBase.html" title="class in org.apache.felix.dm">DependencyActivatorBase</a></dt>
<dd>
<div class="block">Returns the dependency manager that is associated with this bundle.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/DependencyManager.html#getDependencyManagers()">getDependencyManagers()</a></span> - Static method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/DependencyManager.html" title="class in org.apache.felix.dm">DependencyManager</a></dt>
<dd>
<div class="block">Returns the list of currently created dependency managers.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/Event.html#getEvent()">getEvent()</a></span> - Method in class org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/Event.html" title="class in org.apache.felix.dm.context">Event</a></dt>
<dd>
<div class="block">Returns the actual event object wrapped by this event (a Service Dependency, a Bundle for Bundle Dependency, etc...).</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/ComponentExecutorFactory.html#getExecutorFor(org.apache.felix.dm.Component)">getExecutorFor(Component)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/ComponentExecutorFactory.html" title="interface in org.apache.felix.dm">ComponentExecutorFactory</a></dt>
<dd>
<div class="block">Returns an Executor (typically a shared thread pool) used to manage a given DependencyManager Component.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/ComponentDependencyDeclaration.html#getFilter()">getFilter()</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/ComponentDependencyDeclaration.html" title="interface in org.apache.felix.dm">ComponentDependencyDeclaration</a></dt>
<dd>
<div class="block">Returns the Dependency filter or null</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/AbstractDependency.html#getFilter()">getFilter()</a></span> - Method in class org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/AbstractDependency.html" title="class in org.apache.felix.dm.context">AbstractDependency</a></dt>
<dd>
<div class="block">Returns the dependency filter, if any.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/diagnostics/DependencyGraph.html#getGraph(org.apache.felix.dm.diagnostics.DependencyGraph.ComponentState,%20org.apache.felix.dm.diagnostics.DependencyGraph.DependencyState)">getGraph(DependencyGraph.ComponentState, DependencyGraph.DependencyState)</a></span> - Static method in class org.apache.felix.dm.diagnostics.<a href="./org/apache/felix/dm/diagnostics/DependencyGraph.html" title="class in org.apache.felix.dm.diagnostics">DependencyGraph</a></dt>
<dd>
<div class="block">Build the dependency graph.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/ComponentDeclaration.html#getId()">getId()</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/ComponentDeclaration.html" title="interface in org.apache.felix.dm">ComponentDeclaration</a></dt>
<dd>
<div class="block">Returns the instance id of this component.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/Component.html#getInstance()">getInstance()</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a></dt>
<dd>
<div class="block">Returns the instance that make up this component.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/Component.html#getInstances()">getInstances()</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a></dt>
<dd>
<div class="block">Returns the composition instances that make up this component, or just the
 component instance if it does not have a composition, or an empty array if
 the component has not even been instantiated.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/AbstractDependency.html#getInstances()">getInstances()</a></span> - Method in class org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/AbstractDependency.html" title="class in org.apache.felix.dm.context">AbstractDependency</a></dt>
<dd>
<div class="block">Returns the dependency callback instances</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/ComponentContext.html#getInstances()">getInstances()</a></span> - Method in interface org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/ComponentContext.html" title="interface in org.apache.felix.dm.context">ComponentContext</a></dt>
<dd>
<div class="block">Returns the component instances</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/ComponentContext.html#getLogger()">getLogger()</a></span> - Method in interface org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/ComponentContext.html" title="interface in org.apache.felix.dm.context">ComponentContext</a></dt>
<dd>
<div class="block">Returns the logger which can be used by the DependencyManager Dependencies implementations.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/DependencyActivatorBase.html#getLogger()">getLogger()</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/DependencyActivatorBase.html" title="class in org.apache.felix.dm">DependencyActivatorBase</a></dt>
<dd>
<div class="block">Returns the logger that is associated with this bundle.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/diagnostics/DependencyGraph.html#getMissingDependencies(java.lang.String)">getMissingDependencies(String)</a></span> - Method in class org.apache.felix.dm.diagnostics.<a href="./org/apache/felix/dm/diagnostics/DependencyGraph.html" title="class in org.apache.felix.dm.diagnostics">DependencyGraph</a></dt>
<dd>
<div class="block">Returns all the missing dependencies of a given type.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/ComponentDeclaration.html#getName()">getName()</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/ComponentDeclaration.html" title="interface in org.apache.felix.dm">ComponentDeclaration</a></dt>
<dd>
<div class="block">Returns the description of this component (the classname or the provided service(s))</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/ComponentDependencyDeclaration.html#getName()">getName()</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/ComponentDependencyDeclaration.html" title="interface in org.apache.felix.dm">ComponentDependencyDeclaration</a></dt>
<dd>
<div class="block">Returns the name of this dependency (a generic name with optional info separated by spaces)</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/AbstractDependency.html#getName()">getName()</a></span> - Method in class org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/AbstractDependency.html" title="class in org.apache.felix.dm.context">AbstractDependency</a></dt>
<dd>
<div class="block">Returns a description of this dependency (like the dependency service class name with associated filters)</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/diagnostics/MissingDependency.html#getName()">getName()</a></span> - Method in class org.apache.felix.dm.diagnostics.<a href="./org/apache/felix/dm/diagnostics/MissingDependency.html" title="class in org.apache.felix.dm.diagnostics">MissingDependency</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/tracker/BundleTracker.html#getObject(Bundle)">getObject(Bundle)</a></span> - Method in class org.apache.felix.dm.tracker.<a href="./org/apache/felix/dm/tracker/BundleTracker.html" title="class in org.apache.felix.dm.tracker">BundleTracker</a></dt>
<dd>
<div class="block">Returns the customized object for the specified <code>Bundle</code> if
 the specified bundle is being tracked by this <code>BundleTracker</code>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/AbstractDependency.html#getProperties()">getProperties()</a></span> - Method in class org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/AbstractDependency.html" title="class in org.apache.felix.dm.context">AbstractDependency</a></dt>
<dd>
<div class="block">Returns the dependency service properties (empty by default).</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/Event.html#getProperties()">getProperties()</a></span> - Method in class org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/Event.html" title="class in org.apache.felix.dm.context">Event</a></dt>
<dd>
<div class="block">Returns the properties of the actual event object wrapped by this event (Service Dependency properties, ...).</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/Dependency.html#getProperties()">getProperties()</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/Dependency.html" title="interface in org.apache.felix.dm">Dependency</a></dt>
<dd>
<div class="block">Returns the properties associated with this dependency.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/diagnostics/DependencyGraph.html#getProviders(org.apache.felix.dm.ComponentDependencyDeclaration)">getProviders(ComponentDependencyDeclaration)</a></span> - Method in class org.apache.felix.dm.diagnostics.<a href="./org/apache/felix/dm/diagnostics/DependencyGraph.html" title="class in org.apache.felix.dm.diagnostics">DependencyGraph</a></dt>
<dd>
<div class="block">Returns the list of components that provide the given dependency.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/AbstractDependency.html#getService()">getService()</a></span> - Method in class org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/AbstractDependency.html" title="class in org.apache.felix.dm.context">AbstractDependency</a></dt>
<dd>
<div class="block">Get the highest ranked available dependency service, or null.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/DependencyContext.html#getService()">getService()</a></span> - Method in interface org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/DependencyContext.html" title="interface in org.apache.felix.dm.context">DependencyContext</a></dt>
<dd>
<div class="block">Returns the highest ranked available dependency service instance, or null if the dependency is unavailable.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/tracker/ServiceTracker.html#getService(ServiceReference)">getService(ServiceReference)</a></span> - Method in class org.apache.felix.dm.tracker.<a href="./org/apache/felix/dm/tracker/ServiceTracker.html" title="class in org.apache.felix.dm.tracker">ServiceTracker</a></dt>
<dd>
<div class="block">Returns the service object for the specified
 <code>ServiceReference</code> if the specified referenced service is
 being tracked by this <code>ServiceTracker</code>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/tracker/ServiceTracker.html#getService()">getService()</a></span> - Method in class org.apache.felix.dm.tracker.<a href="./org/apache/felix/dm/tracker/ServiceTracker.html" title="class in org.apache.felix.dm.tracker">ServiceTracker</a></dt>
<dd>
<div class="block">Returns a service object for one of the services being tracked by this
 <code>ServiceTracker</code>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/Component.html#getServiceProperties()">getServiceProperties()</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a></dt>
<dd>
<div class="block">Returns the service properties associated with the component.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/ComponentDeclaration.html#getServiceProperties()">getServiceProperties()</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/ComponentDeclaration.html" title="interface in org.apache.felix.dm">ComponentDeclaration</a></dt>
<dd>
<div class="block">Returns the service properties, or null</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/tracker/ServiceTracker.html#getServiceReference()">getServiceReference()</a></span> - Method in class org.apache.felix.dm.tracker.<a href="./org/apache/felix/dm/tracker/ServiceTracker.html" title="class in org.apache.felix.dm.tracker">ServiceTracker</a></dt>
<dd>
<div class="block">Returns a <code>ServiceReference</code> for one of the services being
 tracked by this <code>ServiceTracker</code>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/tracker/ServiceTracker.html#getServiceReferences()">getServiceReferences()</a></span> - Method in class org.apache.felix.dm.tracker.<a href="./org/apache/felix/dm/tracker/ServiceTracker.html" title="class in org.apache.felix.dm.tracker">ServiceTracker</a></dt>
<dd>
<div class="block">Return an array of <code>ServiceReference</code>s for all services being
 tracked by this <code>ServiceTracker</code>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/Component.html#getServiceRegistration()">getServiceRegistration()</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a></dt>
<dd>
<div class="block">Returns the service registration for this component.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/ComponentDeclaration.html#getServices()">getServices()</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/ComponentDeclaration.html" title="interface in org.apache.felix.dm">ComponentDeclaration</a></dt>
<dd>
<div class="block">Returns the service optionally provided by this component, or null</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/tracker/ServiceTracker.html#getServices()">getServices()</a></span> - Method in class org.apache.felix.dm.tracker.<a href="./org/apache/felix/dm/tracker/ServiceTracker.html" title="class in org.apache.felix.dm.tracker">ServiceTracker</a></dt>
<dd>
<div class="block">Return an array of service objects for all services being tracked by this
 <code>ServiceTracker</code>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/ComponentDependencyDeclaration.html#getSimpleName()">getSimpleName()</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/ComponentDependencyDeclaration.html" title="interface in org.apache.felix.dm">ComponentDependencyDeclaration</a></dt>
<dd>
<div class="block">Returns the simple dependency name (service classname for example)</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/AbstractDependency.html#getSimpleName()">getSimpleName()</a></span> - Method in class org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/AbstractDependency.html" title="class in org.apache.felix.dm.context">AbstractDependency</a></dt>
<dd>
<div class="block">Returns a simple name for this dependency (like the dependency service class name).</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/ComponentDeclaration.html#getState()">getState()</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/ComponentDeclaration.html" title="interface in org.apache.felix.dm">ComponentDeclaration</a></dt>
<dd>
<div class="block">Returns the state of this component.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/ComponentDependencyDeclaration.html#getState()">getState()</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/ComponentDependencyDeclaration.html" title="interface in org.apache.felix.dm">ComponentDependencyDeclaration</a></dt>
<dd>
<div class="block">Returns the state of this dependency.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/AbstractDependency.html#getState()">getState()</a></span> - Method in class org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/AbstractDependency.html" title="class in org.apache.felix.dm.context">AbstractDependency</a></dt>
<dd>
<div class="block">Returns this dependency state.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/tracker/BundleTracker.html#getTrackingCount()">getTrackingCount()</a></span> - Method in class org.apache.felix.dm.tracker.<a href="./org/apache/felix/dm/tracker/BundleTracker.html" title="class in org.apache.felix.dm.tracker">BundleTracker</a></dt>
<dd>
<div class="block">Returns the tracking count for this <code>BundleTracker</code>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/tracker/ServiceTracker.html#getTrackingCount()">getTrackingCount()</a></span> - Method in class org.apache.felix.dm.tracker.<a href="./org/apache/felix/dm/tracker/ServiceTracker.html" title="class in org.apache.felix.dm.tracker">ServiceTracker</a></dt>
<dd>
<div class="block">Returns the tracking count for this <code>ServiceTracker</code>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/ComponentDependencyDeclaration.html#getType()">getType()</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/ComponentDependencyDeclaration.html" title="interface in org.apache.felix.dm">ComponentDependencyDeclaration</a></dt>
<dd>
<div class="block">Returns the name of the type of this dependency.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/AbstractDependency.html#getType()">getType()</a></span> - Method in class org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/AbstractDependency.html" title="class in org.apache.felix.dm.context">AbstractDependency</a></dt>
<dd>
<div class="block">Returns the dependency symbolic type.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/diagnostics/MissingDependency.html#getType()">getType()</a></span> - Method in class org.apache.felix.dm.diagnostics.<a href="./org/apache/felix/dm/diagnostics/MissingDependency.html" title="class in org.apache.felix.dm.diagnostics">MissingDependency</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="_H_">
<!--   -->
</a>
<h2 class="title">H</h2>
<dl>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/ComponentContext.html#handleEvent(org.apache.felix.dm.context.DependencyContext,%20org.apache.felix.dm.context.EventType,%20org.apache.felix.dm.context.Event...)">handleEvent(DependencyContext, EventType, Event...)</a></span> - Method in interface org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/ComponentContext.html" title="interface in org.apache.felix.dm.context">ComponentContext</a></dt>
<dd>
<div class="block">Notifies the Component about a dependency event.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/Event.html#hashCode()">hashCode()</a></span> - Method in class org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/Event.html" title="class in org.apache.felix.dm.context">Event</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/tracker/ServiceTracker.html#hasReference()">hasReference()</a></span> - Method in class org.apache.felix.dm.tracker.<a href="./org/apache/felix/dm/tracker/ServiceTracker.html" title="class in org.apache.felix.dm.tracker">ServiceTracker</a></dt>
<dd>
<div class="block">Returns a boolean indicating whether this <code>ServiceTracker</code> is tracking any services.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/ResourceHandler.html#HOST">HOST</a></span> - Static variable in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/ResourceHandler.html" title="interface in org.apache.felix.dm">ResourceHandler</a></dt>
<dd>
<div class="block">The host part of the URL.</div>
</dd>
</dl>
<a name="_I_">
<!--   -->
</a>
<h2 class="title">I</h2>
<dl>
<dt><span class="strong"><a href="./org/apache/felix/dm/Logger.html#info()">info()</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/Logger.html" title="class in org.apache.felix.dm">Logger</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/Logger.html#info(java.lang.String,%20java.lang.Object...)">info(String, Object...)</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/Logger.html" title="class in org.apache.felix.dm">Logger</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/Logger.html#info(java.lang.String,%20java.lang.Throwable,%20java.lang.Object...)">info(String, Throwable, Object...)</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/Logger.html" title="class in org.apache.felix.dm">Logger</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/DependencyActivatorBase.html#init(BundleContext,%20org.apache.felix.dm.DependencyManager)">init(BundleContext, DependencyManager)</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/DependencyActivatorBase.html" title="class in org.apache.felix.dm">DependencyActivatorBase</a></dt>
<dd>
<div class="block">Initialize the dependency manager.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/AbstractDependency.html#invokeCallback(org.apache.felix.dm.context.EventType,%20org.apache.felix.dm.context.Event...)">invokeCallback(EventType, Event...)</a></span> - Method in class org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/AbstractDependency.html" title="class in org.apache.felix.dm.context">AbstractDependency</a></dt>
<dd>
<div class="block">A Component callback must be invoked with dependency event(s).</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/DependencyContext.html#invokeCallback(org.apache.felix.dm.context.EventType,%20org.apache.felix.dm.context.Event...)">invokeCallback(EventType, Event...)</a></span> - Method in interface org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/DependencyContext.html" title="interface in org.apache.felix.dm.context">DependencyContext</a></dt>
<dd>
<div class="block">The Component implementation asks this dependency to invoke a component dependency callback.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/ComponentContext.html#invokeCallbackMethod(java.lang.Object[],%20java.lang.String,%20java.lang.Class[][],%20java.lang.Object[][])">invokeCallbackMethod(Object[], String, Class&lt;?&gt;[][], Object[][])</a></span> - Method in interface org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/ComponentContext.html" title="interface in org.apache.felix.dm.context">ComponentContext</a></dt>
<dd>
<div class="block">Invoke a component callback method with a given dependency service instance</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/ComponentContext.html#isActive()">isActive()</a></span> - Method in interface org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/ComponentContext.html" title="interface in org.apache.felix.dm.context">ComponentContext</a></dt>
<dd>
<div class="block">Is this component already started ?</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/FilterIndex.html#isApplicable(java.lang.String,%20java.lang.String)">isApplicable(String, String)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/FilterIndex.html" title="interface in org.apache.felix.dm">FilterIndex</a></dt>
<dd>
<div class="block">Determines if the combination of class and filter is applicable for this filter index.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/AbstractDependency.html#isAutoConfig()">isAutoConfig()</a></span> - Method in class org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/AbstractDependency.html" title="class in org.apache.felix.dm.context">AbstractDependency</a></dt>
<dd>
<div class="block">Can this dependency be injected in a component class field (by reflexion, true by default) ?</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/Dependency.html#isAutoConfig()">isAutoConfig()</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/Dependency.html" title="interface in org.apache.felix.dm">Dependency</a></dt>
<dd>
<div class="block">Returns <code>true</code> if auto configuration is enabled for this dependency.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/AbstractDependency.html#isAvailable()">isAvailable()</a></span> - Method in class org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/AbstractDependency.html" title="class in org.apache.felix.dm.context">AbstractDependency</a></dt>
<dd>
<div class="block">Is this Dependency satisfied and available ?</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/ComponentContext.html#isAvailable()">isAvailable()</a></span> - Method in interface org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/ComponentContext.html" title="interface in org.apache.felix.dm.context">ComponentContext</a></dt>
<dd>
<div class="block">Is this component available (all required dependencies are available) ?</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/Dependency.html#isAvailable()">isAvailable()</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/Dependency.html" title="interface in org.apache.felix.dm">Dependency</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the dependency is available.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/AbstractDependency.html#isInstanceBound()">isInstanceBound()</a></span> - Method in class org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/AbstractDependency.html" title="class in org.apache.felix.dm.context">AbstractDependency</a></dt>
<dd>
<div class="block">Is this Dependency "instance bound" (has been defined within the component's init method) ?</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/DependencyContext.html#isInstanceBound()">isInstanceBound()</a></span> - Method in interface org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/DependencyContext.html" title="interface in org.apache.felix.dm.context">DependencyContext</a></dt>
<dd>
<div class="block">Is this dependency instance bound ?</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/AbstractDependency.html#isPropagated()">isPropagated()</a></span> - Method in class org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/AbstractDependency.html" title="class in org.apache.felix.dm.context">AbstractDependency</a></dt>
<dd>
<div class="block">Returns the propagate callback method that is invoked in order to supply dynamically some dependency service properties.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/Dependency.html#isPropagated()">isPropagated()</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/Dependency.html" title="interface in org.apache.felix.dm">Dependency</a></dt>
<dd>
<div class="block">Determines if the properties associated with this dependency should be propagated to
 the properties of the service registered by the component they belong to.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/AbstractDependency.html#isRequired()">isRequired()</a></span> - Method in class org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/AbstractDependency.html" title="class in org.apache.felix.dm.context">AbstractDependency</a></dt>
<dd>
<div class="block">Is this Dependency required (false by default) ?</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/Dependency.html#isRequired()">isRequired()</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/Dependency.html" title="interface in org.apache.felix.dm">Dependency</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this a required dependency.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/AbstractDependency.html#isStarted()">isStarted()</a></span> - Method in class org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/AbstractDependency.html" title="class in org.apache.felix.dm.context">AbstractDependency</a></dt>
<dd>
<div class="block">Indicates if this dependency has been started by the Component implementation.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/DependencyContext.html#isStarted()">isStarted()</a></span> - Method in interface org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/DependencyContext.html" title="interface in org.apache.felix.dm.context">DependencyContext</a></dt>
<dd>
<div class="block">Returns true if the dependency has been started, false if not</div>
</dd>
</dl>
<a name="_L_">
<!--   -->
</a>
<h2 class="title">L</h2>
<dl>
<dt><span class="strong"><a href="./org/apache/felix/dm/Logger.html#log(int,%20java.lang.String)">log(int, String)</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/Logger.html" title="class in org.apache.felix.dm">Logger</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/Logger.html#log(int,%20java.lang.String,%20java.lang.Throwable)">log(int, String, Throwable)</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/Logger.html" title="class in org.apache.felix.dm">Logger</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/Logger.html#log(ServiceReference,%20int,%20java.lang.String)">log(ServiceReference, int, String)</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/Logger.html" title="class in org.apache.felix.dm">Logger</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/Logger.html#log(ServiceReference,%20int,%20java.lang.String,%20java.lang.Throwable)">log(ServiceReference, int, String, Throwable)</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/Logger.html" title="class in org.apache.felix.dm">Logger</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/Logger.html#LOG_DEBUG">LOG_DEBUG</a></span> - Static variable in class org.apache.felix.dm.<a href="./org/apache/felix/dm/Logger.html" title="class in org.apache.felix.dm">Logger</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/Logger.html#LOG_ERROR">LOG_ERROR</a></span> - Static variable in class org.apache.felix.dm.<a href="./org/apache/felix/dm/Logger.html" title="class in org.apache.felix.dm">Logger</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/Logger.html#LOG_INFO">LOG_INFO</a></span> - Static variable in class org.apache.felix.dm.<a href="./org/apache/felix/dm/Logger.html" title="class in org.apache.felix.dm">Logger</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/Logger.html#LOG_WARNING">LOG_WARNING</a></span> - Static variable in class org.apache.felix.dm.<a href="./org/apache/felix/dm/Logger.html" title="class in org.apache.felix.dm">Logger</a></dt>
<dd>&nbsp;</dd>
<dt><a href="./org/apache/felix/dm/Logger.html" title="class in org.apache.felix.dm"><span class="strong">Logger</span></a> - Class in <a href="./org/apache/felix/dm/package-summary.html">org.apache.felix.dm</a></dt>
<dd>
<div class="block">This class mimics the standard OSGi <tt>LogService</tt> interface.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/Logger.html#Logger(BundleContext)">Logger(BundleContext)</a></span> - Constructor for class org.apache.felix.dm.<a href="./org/apache/felix/dm/Logger.html" title="class in org.apache.felix.dm">Logger</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="_M_">
<!--   -->
</a>
<h2 class="title">M</h2>
<dl>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/AbstractDependency.html#m_add">m_add</a></span> - Variable in class org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/AbstractDependency.html" title="class in org.apache.felix.dm.context">AbstractDependency</a></dt>
<dd>
<div class="block">Component callback used to inject an added dependency.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/AbstractDependency.html#m_autoConfig">m_autoConfig</a></span> - Variable in class org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/AbstractDependency.html" title="class in org.apache.felix.dm.context">AbstractDependency</a></dt>
<dd>
<div class="block">Can this Dependency be auto configured in the component instance fields ?</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/AbstractDependency.html#m_autoConfigInstance">m_autoConfigInstance</a></span> - Variable in class org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/AbstractDependency.html" title="class in org.apache.felix.dm.context">AbstractDependency</a></dt>
<dd>
<div class="block">The Component field name where the Dependency can be injected (null means any field with a compatible type
 will be injected).</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/AbstractDependency.html#m_autoConfigInvoked">m_autoConfigInvoked</a></span> - Variable in class org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/AbstractDependency.html" title="class in org.apache.felix.dm.context">AbstractDependency</a></dt>
<dd>
<div class="block">Indicates if the setAutoConfig method has been invoked.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/AbstractDependency.html#m_available">m_available</a></span> - Variable in class org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/AbstractDependency.html" title="class in org.apache.felix.dm.context">AbstractDependency</a></dt>
<dd>
<div class="block">Is this Dependency available ? Volatile because the getState method (part of the 
 <a href="./org/apache/felix/dm/ComponentDependencyDeclaration.html" title="interface in org.apache.felix.dm"><code>ComponentDependencyDeclaration</code></a> interface) may be called by any thread, at any time.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/AbstractDependency.html#m_callbackInstance">m_callbackInstance</a></span> - Variable in class org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/AbstractDependency.html" title="class in org.apache.felix.dm.context">AbstractDependency</a></dt>
<dd>
<div class="block">The object instance on which the dependency callbacks are invoked on.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/AbstractDependency.html#m_change">m_change</a></span> - Variable in class org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/AbstractDependency.html" title="class in org.apache.felix.dm.context">AbstractDependency</a></dt>
<dd>
<div class="block">Component callback invoked when the dependency has changed.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/AbstractDependency.html#m_component">m_component</a></span> - Variable in class org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/AbstractDependency.html" title="class in org.apache.felix.dm.context">AbstractDependency</a></dt>
<dd>
<div class="block">The Component implementation is exposed to Dependencies through this interface.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/AbstractDependency.html#m_instanceBound">m_instanceBound</a></span> - Variable in class org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/AbstractDependency.html" title="class in org.apache.felix.dm.context">AbstractDependency</a></dt>
<dd>
<div class="block">Is this Dependency "instance bound" ? A dependency is "instance bound" if it is defined within the component's 
 init method, meaning that it won't deactivate the component if it is not currently available when being added
 from the component's init method.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/AbstractDependency.html#m_isStarted">m_isStarted</a></span> - Variable in class org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/AbstractDependency.html" title="class in org.apache.felix.dm.context">AbstractDependency</a></dt>
<dd>
<div class="block">Has this Dependency been started by the Component implementation ? Volatile because the getState method 
 (part of the <a href="./org/apache/felix/dm/ComponentDependencyDeclaration.html" title="interface in org.apache.felix.dm"><code>ComponentDependencyDeclaration</code></a> interface) may be called by any thread, at any time.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/AbstractDependency.html#m_propagate">m_propagate</a></span> - Variable in class org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/AbstractDependency.html" title="class in org.apache.felix.dm.context">AbstractDependency</a></dt>
<dd>
<div class="block">Tells if the dependency service properties have to be propagated to the Component service properties.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/AbstractDependency.html#m_propagateCallbackInstance">m_propagateCallbackInstance</a></span> - Variable in class org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/AbstractDependency.html" title="class in org.apache.felix.dm.context">AbstractDependency</a></dt>
<dd>
<div class="block">The propagate callback instance that is invoked in order to supply dynamically some dependency service properties.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/AbstractDependency.html#m_propagateCallbackMethod">m_propagateCallbackMethod</a></span> - Variable in class org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/AbstractDependency.html" title="class in org.apache.felix.dm.context">AbstractDependency</a></dt>
<dd>
<div class="block">The propagate callback method that is invoked in order to supply dynamically some dependency service properties.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/AbstractDependency.html#m_remove">m_remove</a></span> - Variable in class org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/AbstractDependency.html" title="class in org.apache.felix.dm.context">AbstractDependency</a></dt>
<dd>
<div class="block">Component callback invoked when the dependency becomes unavailable.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/AbstractDependency.html#m_required">m_required</a></span> - Variable in class org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/AbstractDependency.html" title="class in org.apache.felix.dm.context">AbstractDependency</a></dt>
<dd>
<div class="block">Is this dependency required (false by default) ?</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/tracker/ServiceTracker.html#m_trackAllAspects">m_trackAllAspects</a></span> - Variable in class org.apache.felix.dm.tracker.<a href="./org/apache/felix/dm/tracker/ServiceTracker.html" title="class in org.apache.felix.dm.tracker">ServiceTracker</a></dt>
<dd>
<div class="block">Flag that gets set when opening the tracker, determines if the tracker should
 track all aspects or just the highest ranked ones.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/DependencyManager.html#METHOD_CACHE_SIZE">METHOD_CACHE_SIZE</a></span> - Static variable in class org.apache.felix.dm.<a href="./org/apache/felix/dm/DependencyManager.html" title="class in org.apache.felix.dm">DependencyManager</a></dt>
<dd>&nbsp;</dd>
<dt><a href="./org/apache/felix/dm/diagnostics/MissingDependency.html" title="class in org.apache.felix.dm.diagnostics"><span class="strong">MissingDependency</span></a> - Class in <a href="./org/apache/felix/dm/diagnostics/package-summary.html">org.apache.felix.dm.diagnostics</a></dt>
<dd>
<div class="block">This represents a missing dependency.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/diagnostics/MissingDependency.html#MissingDependency(java.lang.String,%20java.lang.String,%20java.lang.String)">MissingDependency(String, String, String)</a></span> - Constructor for class org.apache.felix.dm.diagnostics.<a href="./org/apache/felix/dm/diagnostics/MissingDependency.html" title="class in org.apache.felix.dm.diagnostics">MissingDependency</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/tracker/BundleTracker.html#modifiedBundle(Bundle,%20BundleEvent,%20java.lang.Object)">modifiedBundle(Bundle, BundleEvent, Object)</a></span> - Method in class org.apache.felix.dm.tracker.<a href="./org/apache/felix/dm/tracker/BundleTracker.html" title="class in org.apache.felix.dm.tracker">BundleTracker</a></dt>
<dd>
<div class="block">Default implementation of the
 <code>BundleTrackerCustomizer.modifiedBundle</code> method.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/tracker/BundleTrackerCustomizer.html#modifiedBundle(Bundle,%20BundleEvent,%20java.lang.Object)">modifiedBundle(Bundle, BundleEvent, Object)</a></span> - Method in interface org.apache.felix.dm.tracker.<a href="./org/apache/felix/dm/tracker/BundleTrackerCustomizer.html" title="interface in org.apache.felix.dm.tracker">BundleTrackerCustomizer</a></dt>
<dd>
<div class="block">A bundle tracked by the <code>BundleTracker</code> has been modified.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/tracker/ServiceTracker.html#modifiedService(ServiceReference,%20java.lang.Object)">modifiedService(ServiceReference, Object)</a></span> - Method in class org.apache.felix.dm.tracker.<a href="./org/apache/felix/dm/tracker/ServiceTracker.html" title="class in org.apache.felix.dm.tracker">ServiceTracker</a></dt>
<dd>
<div class="block">Default implementation of the
 <code>ServiceTrackerCustomizer.modifiedService</code> method.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/tracker/ServiceTrackerCustomizer.html#modifiedService(ServiceReference,%20java.lang.Object)">modifiedService(ServiceReference, Object)</a></span> - Method in interface org.apache.felix.dm.tracker.<a href="./org/apache/felix/dm/tracker/ServiceTrackerCustomizer.html" title="interface in org.apache.felix.dm.tracker">ServiceTrackerCustomizer</a></dt>
<dd>
<div class="block">A service tracked by the <code>ServiceTracker</code> has been modified.</div>
</dd>
</dl>
<a name="_N_">
<!--   -->
</a>
<h2 class="title">N</h2>
<dl>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/AbstractDependency.html#needsInstance()">needsInstance()</a></span> - Method in class org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/AbstractDependency.html" title="class in org.apache.felix.dm.context">AbstractDependency</a></dt>
<dd>
<div class="block">Tells if the Component must be first instantiated before starting this dependency (false by default).</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/DependencyContext.html#needsInstance()">needsInstance()</a></span> - Method in interface org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/DependencyContext.html" title="interface in org.apache.felix.dm.context">DependencyContext</a></dt>
<dd>
<div class="block">Does this dependency need the component instances to determine if the dependency is available or not.</div>
</dd>
</dl>
<a name="_O_">
<!--   -->
</a>
<h2 class="title">O</h2>
<dl>
<dt><span class="strong"><a href="./org/apache/felix/dm/FilterIndex.html#open(BundleContext)">open(BundleContext)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/FilterIndex.html" title="interface in org.apache.felix.dm">FilterIndex</a></dt>
<dd>
<div class="block">Opens this filter index.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/tracker/BundleTracker.html#open()">open()</a></span> - Method in class org.apache.felix.dm.tracker.<a href="./org/apache/felix/dm/tracker/BundleTracker.html" title="class in org.apache.felix.dm.tracker">BundleTracker</a></dt>
<dd>
<div class="block">Open this <code>BundleTracker</code> and begin tracking bundles.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/tracker/ServiceTracker.html#open()">open()</a></span> - Method in class org.apache.felix.dm.tracker.<a href="./org/apache/felix/dm/tracker/ServiceTracker.html" title="class in org.apache.felix.dm.tracker">ServiceTracker</a></dt>
<dd>
<div class="block">Open this <code>ServiceTracker</code> and begin tracking services.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/tracker/ServiceTracker.html#open(boolean)">open(boolean)</a></span> - Method in class org.apache.felix.dm.tracker.<a href="./org/apache/felix/dm/tracker/ServiceTracker.html" title="class in org.apache.felix.dm.tracker">ServiceTracker</a></dt>
<dd>
<div class="block">Open this <code>ServiceTracker</code> and begin tracking services.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/tracker/ServiceTracker.html#open(boolean,%20boolean)">open(boolean, boolean)</a></span> - Method in class org.apache.felix.dm.tracker.<a href="./org/apache/felix/dm/tracker/ServiceTracker.html" title="class in org.apache.felix.dm.tracker">ServiceTracker</a></dt>
<dd>
<div class="block">Open this <code>ServiceTracker</code> and begin tracking services.</div>
</dd>
<dt><a href="./org/apache/felix/dm/package-summary.html">org.apache.felix.dm</a> - package org.apache.felix.dm</dt>
<dd>&nbsp;</dd>
<dt><a href="./org/apache/felix/dm/context/package-summary.html">org.apache.felix.dm.context</a> - package org.apache.felix.dm.context</dt>
<dd>&nbsp;</dd>
<dt><a href="./org/apache/felix/dm/diagnostics/package-summary.html">org.apache.felix.dm.diagnostics</a> - package org.apache.felix.dm.diagnostics</dt>
<dd>&nbsp;</dd>
<dt><a href="./org/apache/felix/dm/tracker/package-summary.html">org.apache.felix.dm.tracker</a> - package org.apache.felix.dm.tracker</dt>
<dd>&nbsp;</dd>
</dl>
<a name="_P_">
<!--   -->
</a>
<h2 class="title">P</h2>
<dl>
<dt><span class="strong"><a href="./org/apache/felix/dm/DependencyManager.html#PARALLEL">PARALLEL</a></span> - Static variable in class org.apache.felix.dm.<a href="./org/apache/felix/dm/DependencyManager.html" title="class in org.apache.felix.dm">DependencyManager</a></dt>
<dd>
<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>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/ResourceHandler.html#PATH">PATH</a></span> - Static variable in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/ResourceHandler.html" title="interface in org.apache.felix.dm">ResourceHandler</a></dt>
<dd>
<div class="block">The path part of the URL.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/ResourceHandler.html#PORT">PORT</a></span> - Static variable in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/ResourceHandler.html" title="interface in org.apache.felix.dm">ResourceHandler</a></dt>
<dd>
<div class="block">The port part of the URL.</div>
</dd>
<dt><a href="./org/apache/felix/dm/PropertyMetaData.html" title="interface in org.apache.felix.dm"><span class="strong">PropertyMetaData</span></a> - Interface in <a href="./org/apache/felix/dm/package-summary.html">org.apache.felix.dm</a></dt>
<dd>
<div class="block">This interface defines meta data regarding a given configuration property.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/ResourceHandler.html#PROTOCOL">PROTOCOL</a></span> - Static variable in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/ResourceHandler.html" title="interface in org.apache.felix.dm">ResourceHandler</a></dt>
<dd>
<div class="block">The protocol part of the URL.</div>
</dd>
</dl>
<a name="_R_">
<!--   -->
</a>
<h2 class="title">R</h2>
<dl>
<dt><span class="strong"><a href="./org/apache/felix/dm/Component.html#remove(org.apache.felix.dm.Dependency)">remove(Dependency)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a></dt>
<dd>
<div class="block">Removes a dependency from the component.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/Component.html#remove(org.apache.felix.dm.ComponentStateListener)">remove(ComponentStateListener)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a></dt>
<dd>
<div class="block">Removes a component state listener from this component.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/DependencyManager.html#remove(org.apache.felix.dm.Component)">remove(Component)</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/DependencyManager.html" title="class in org.apache.felix.dm">DependencyManager</a></dt>
<dd>
<div class="block">Removes a service from the dependency manager.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/tracker/BundleTracker.html#remove(Bundle)">remove(Bundle)</a></span> - Method in class org.apache.felix.dm.tracker.<a href="./org/apache/felix/dm/tracker/BundleTracker.html" title="class in org.apache.felix.dm.tracker">BundleTracker</a></dt>
<dd>
<div class="block">Remove a bundle from this <code>BundleTracker</code>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/tracker/ServiceTracker.html#remove(ServiceReference)">remove(ServiceReference)</a></span> - Method in class org.apache.felix.dm.tracker.<a href="./org/apache/felix/dm/tracker/ServiceTracker.html" title="class in org.apache.felix.dm.tracker">ServiceTracker</a></dt>
<dd>
<div class="block">Remove a service from this <code>ServiceTracker</code>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/ResourceHandler.html#removed(java.net.URL)">removed(URL)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/ResourceHandler.html" title="interface in org.apache.felix.dm">ResourceHandler</a></dt>
<dd>
<div class="block"><span class="strong">Deprecated.</span>
<div class="block"><i>Please use <a href="./org/apache/felix/dm/ResourceHandler.html#removed(java.net.URL,%20java.util.Dictionary)"><code>ResourceHandler.removed(URL, Dictionary)</code></a> instead. When both are specified,
     the new method takes precedence and the deprecated one is not invoked.</i></div>
</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/ResourceHandler.html#removed(java.net.URL,%20java.util.Dictionary)">removed(URL, Dictionary&lt;?, ?&gt;)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/ResourceHandler.html" title="interface in org.apache.felix.dm">ResourceHandler</a></dt>
<dd>
<div class="block">Invoked whenever an existing resource is removed.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/tracker/BundleTracker.html#removedBundle(Bundle,%20BundleEvent,%20java.lang.Object)">removedBundle(Bundle, BundleEvent, Object)</a></span> - Method in class org.apache.felix.dm.tracker.<a href="./org/apache/felix/dm/tracker/BundleTracker.html" title="class in org.apache.felix.dm.tracker">BundleTracker</a></dt>
<dd>
<div class="block">Default implementation of the
 <code>BundleTrackerCustomizer.removedBundle</code> method.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/tracker/BundleTrackerCustomizer.html#removedBundle(Bundle,%20BundleEvent,%20java.lang.Object)">removedBundle(Bundle, BundleEvent, Object)</a></span> - Method in interface org.apache.felix.dm.tracker.<a href="./org/apache/felix/dm/tracker/BundleTrackerCustomizer.html" title="interface in org.apache.felix.dm.tracker">BundleTrackerCustomizer</a></dt>
<dd>
<div class="block">A bundle tracked by the <code>BundleTracker</code> has been removed.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/tracker/ServiceTracker.html#removedService(ServiceReference,%20java.lang.Object)">removedService(ServiceReference, Object)</a></span> - Method in class org.apache.felix.dm.tracker.<a href="./org/apache/felix/dm/tracker/ServiceTracker.html" title="class in org.apache.felix.dm.tracker">ServiceTracker</a></dt>
<dd>
<div class="block">Default implementation of the
 <code>ServiceTrackerCustomizer.removedService</code> method.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/tracker/ServiceTrackerCustomizer.html#removedService(ServiceReference,%20java.lang.Object)">removedService(ServiceReference, Object)</a></span> - Method in interface org.apache.felix.dm.tracker.<a href="./org/apache/felix/dm/tracker/ServiceTrackerCustomizer.html" title="interface in org.apache.felix.dm.tracker">ServiceTrackerCustomizer</a></dt>
<dd>
<div class="block">A service tracked by the <code>ServiceTracker</code> has been removed.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/FilterIndex.html#removeServiceListener(ServiceListener)">removeServiceListener(ServiceListener)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/FilterIndex.html" title="interface in org.apache.felix.dm">FilterIndex</a></dt>
<dd>
<div class="block">Removes a service listener from this filter index.</div>
</dd>
<dt><a href="./org/apache/felix/dm/ResourceDependency.html" title="interface in org.apache.felix.dm"><span class="strong">ResourceDependency</span></a> - Interface in <a href="./org/apache/felix/dm/package-summary.html">org.apache.felix.dm</a></dt>
<dd>
<div class="block">A resource dependency is a dependency on a resource.</div>
</dd>
<dt><a href="./org/apache/felix/dm/ResourceHandler.html" title="interface in org.apache.felix.dm"><span class="strong">ResourceHandler</span></a> - Interface in <a href="./org/apache/felix/dm/package-summary.html">org.apache.felix.dm</a></dt>
<dd>
<div class="block">Service interface for anybody wanting to be notified of changes to resources.</div>
</dd>
<dt><a href="./org/apache/felix/dm/ResourceUtil.html" title="class in org.apache.felix.dm"><span class="strong">ResourceUtil</span></a> - Class in <a href="./org/apache/felix/dm/package-summary.html">org.apache.felix.dm</a></dt>
<dd>
<div class="block">Utility class for resource handling.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/ResourceUtil.html#ResourceUtil()">ResourceUtil()</a></span> - Constructor for class org.apache.felix.dm.<a href="./org/apache/felix/dm/ResourceUtil.html" title="class in org.apache.felix.dm">ResourceUtil</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="_S_">
<!--   -->
</a>
<h2 class="title">S</h2>
<dl>
<dt><span class="strong"><a href="./org/apache/felix/dm/FilterIndex.html#serviceChanged(ServiceEvent)">serviceChanged(ServiceEvent)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/FilterIndex.html" title="interface in org.apache.felix.dm">FilterIndex</a></dt>
<dd>
<div class="block">Invoked whenever a service event occurs.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/Logger.html#serviceChanged(ServiceEvent)">serviceChanged(ServiceEvent)</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/Logger.html" title="class in org.apache.felix.dm">Logger</a></dt>
<dd>
<div class="block">This method implements the callback for the ServiceListener interface.</div>
</dd>
<dt><a href="./org/apache/felix/dm/ServiceDependency.html" title="interface in org.apache.felix.dm"><span class="strong">ServiceDependency</span></a> - Interface in <a href="./org/apache/felix/dm/package-summary.html">org.apache.felix.dm</a></dt>
<dd>
<div class="block">Service dependency that can track an OSGi service.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/DependencyManager.html#SERVICEREGISTRY_CACHE_INDICES">SERVICEREGISTRY_CACHE_INDICES</a></span> - Static variable in class org.apache.felix.dm.<a href="./org/apache/felix/dm/DependencyManager.html" title="class in org.apache.felix.dm">DependencyManager</a></dt>
<dd>&nbsp;</dd>
<dt><a href="./org/apache/felix/dm/tracker/ServiceTracker.html" title="class in org.apache.felix.dm.tracker"><span class="strong">ServiceTracker</span></a> - Class in <a href="./org/apache/felix/dm/tracker/package-summary.html">org.apache.felix.dm.tracker</a></dt>
<dd>
<div class="block">The <code>ServiceTracker</code> class simplifies using services from the
 Framework's service registry.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/tracker/ServiceTracker.html#ServiceTracker(BundleContext,%20ServiceReference,%20org.apache.felix.dm.tracker.ServiceTrackerCustomizer)">ServiceTracker(BundleContext, ServiceReference, ServiceTrackerCustomizer)</a></span> - Constructor for class org.apache.felix.dm.tracker.<a href="./org/apache/felix/dm/tracker/ServiceTracker.html" title="class in org.apache.felix.dm.tracker">ServiceTracker</a></dt>
<dd>
<div class="block">Create a <code>ServiceTracker</code> on the specified
 <code>ServiceReference</code>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/tracker/ServiceTracker.html#ServiceTracker(BundleContext,%20java.lang.String,%20org.apache.felix.dm.tracker.ServiceTrackerCustomizer)">ServiceTracker(BundleContext, String, ServiceTrackerCustomizer)</a></span> - Constructor for class org.apache.felix.dm.tracker.<a href="./org/apache/felix/dm/tracker/ServiceTracker.html" title="class in org.apache.felix.dm.tracker">ServiceTracker</a></dt>
<dd>
<div class="block">Create a <code>ServiceTracker</code> on the specified class name.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/tracker/ServiceTracker.html#ServiceTracker(BundleContext,%20Filter,%20org.apache.felix.dm.tracker.ServiceTrackerCustomizer)">ServiceTracker(BundleContext, Filter, ServiceTrackerCustomizer)</a></span> - Constructor for class org.apache.felix.dm.tracker.<a href="./org/apache/felix/dm/tracker/ServiceTracker.html" title="class in org.apache.felix.dm.tracker">ServiceTracker</a></dt>
<dd>
<div class="block">Create a <code>ServiceTracker</code> on the specified <code>Filter</code>
 object.</div>
</dd>
<dt><a href="./org/apache/felix/dm/tracker/ServiceTrackerCustomizer.html" title="interface in org.apache.felix.dm.tracker"><span class="strong">ServiceTrackerCustomizer</span></a> - Interface in <a href="./org/apache/felix/dm/tracker/package-summary.html">org.apache.felix.dm.tracker</a></dt>
<dd>
<div class="block">The <code>ServiceTrackerCustomizer</code> interface allows a
 <code>ServiceTracker</code> to customize the service objects that are
 tracked.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/BundleDependency.html#setAutoConfig(boolean)">setAutoConfig(boolean)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/BundleDependency.html" title="interface in org.apache.felix.dm">BundleDependency</a></dt>
<dd>
<div class="block">Enables auto configuration for this dependency.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/Component.html#setAutoConfig(java.lang.Class,%20boolean)">setAutoConfig(Class&lt;?&gt;, boolean)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a></dt>
<dd>
<div class="block">Configures auto configuration of injected classes in the component instance.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/Component.html#setAutoConfig(java.lang.Class,%20java.lang.String)">setAutoConfig(Class&lt;?&gt;, String)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a></dt>
<dd>
<div class="block">Configures auto configuration of injected classes in the component instance.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/AbstractDependency.html#setAutoConfig(boolean)">setAutoConfig(boolean)</a></span> - Method in class org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/AbstractDependency.html" title="class in org.apache.felix.dm.context">AbstractDependency</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/AbstractDependency.html#setAutoConfig(java.lang.String)">setAutoConfig(String)</a></span> - Method in class org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/AbstractDependency.html" title="class in org.apache.felix.dm.context">AbstractDependency</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/ResourceDependency.html#setAutoConfig(boolean)">setAutoConfig(boolean)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/ResourceDependency.html" title="interface in org.apache.felix.dm">ResourceDependency</a></dt>
<dd>
<div class="block">Sets auto configuration for this service.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/ResourceDependency.html#setAutoConfig(java.lang.String)">setAutoConfig(String)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/ResourceDependency.html" title="interface in org.apache.felix.dm">ResourceDependency</a></dt>
<dd>
<div class="block">Sets auto configuration for this service.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/ServiceDependency.html#setAutoConfig(boolean)">setAutoConfig(boolean)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/ServiceDependency.html" title="interface in org.apache.felix.dm">ServiceDependency</a></dt>
<dd>
<div class="block">Sets auto configuration for this service.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/ServiceDependency.html#setAutoConfig(java.lang.String)">setAutoConfig(String)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/ServiceDependency.html" title="interface in org.apache.felix.dm">ServiceDependency</a></dt>
<dd>
<div class="block">Sets auto configuration for this service.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/AbstractDependency.html#setAvailable(boolean)">setAvailable(boolean)</a></span> - Method in class org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/AbstractDependency.html" title="class in org.apache.felix.dm.context">AbstractDependency</a></dt>
<dd>
<div class="block">Called by the Component implementation when the dependency is considered to be available.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/DependencyContext.html#setAvailable(boolean)">setAvailable(boolean)</a></span> - Method in interface org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/DependencyContext.html" title="interface in org.apache.felix.dm.context">DependencyContext</a></dt>
<dd>
<div class="block">Sets this dependency as available, meaning that at least one dependency service is available.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/BundleDependency.html#setBundle(Bundle)">setBundle(Bundle)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/BundleDependency.html" title="interface in org.apache.felix.dm">BundleDependency</a></dt>
<dd>
<div class="block">Sets the bundle to depend on directly.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/ConfigurationDependency.html#setCallback(java.lang.String)">setCallback(String)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/ConfigurationDependency.html" title="interface in org.apache.felix.dm">ConfigurationDependency</a></dt>
<dd>
<div class="block">Sets the name of the callback method that should be invoked when a configuration
 is available.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/ConfigurationDependency.html#setCallback(java.lang.Object,%20java.lang.String)">setCallback(Object, String)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/ConfigurationDependency.html" title="interface in org.apache.felix.dm">ConfigurationDependency</a></dt>
<dd>
<div class="block">Sets the name of the callback method that should be invoked when a configuration
 is available.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/BundleDependency.html#setCallbacks(java.lang.String,%20java.lang.String)">setCallbacks(String, String)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/BundleDependency.html" title="interface in org.apache.felix.dm">BundleDependency</a></dt>
<dd>
<div class="block">Sets the callbacks for this dependency.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/BundleDependency.html#setCallbacks(java.lang.String,%20java.lang.String,%20java.lang.String)">setCallbacks(String, String, String)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/BundleDependency.html" title="interface in org.apache.felix.dm">BundleDependency</a></dt>
<dd>
<div class="block">Sets the callbacks for this dependency.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/BundleDependency.html#setCallbacks(java.lang.Object,%20java.lang.String,%20java.lang.String)">setCallbacks(Object, String, String)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/BundleDependency.html" title="interface in org.apache.felix.dm">BundleDependency</a></dt>
<dd>
<div class="block">Sets the callbacks for this dependency.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/BundleDependency.html#setCallbacks(java.lang.Object,%20java.lang.String,%20java.lang.String,%20java.lang.String)">setCallbacks(Object, String, String, String)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/BundleDependency.html" title="interface in org.apache.felix.dm">BundleDependency</a></dt>
<dd>
<div class="block">Sets the callbacks for this dependency.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/Component.html#setCallbacks(java.lang.String,%20java.lang.String,%20java.lang.String,%20java.lang.String)">setCallbacks(String, String, String, String)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a></dt>
<dd>
<div class="block">Sets the names of the methods used as callbacks.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/Component.html#setCallbacks(java.lang.Object,%20java.lang.String,%20java.lang.String,%20java.lang.String,%20java.lang.String)">setCallbacks(Object, String, String, String, String)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a></dt>
<dd>
<div class="block">Sets the names of the methods used as callbacks.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/AbstractDependency.html#setCallbacks(java.lang.String,%20java.lang.String)">setCallbacks(String, String)</a></span> - Method in class org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/AbstractDependency.html" title="class in org.apache.felix.dm.context">AbstractDependency</a></dt>
<dd>
<div class="block">Sets the add/remove callbacks.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/AbstractDependency.html#setCallbacks(java.lang.String,%20java.lang.String,%20java.lang.String)">setCallbacks(String, String, String)</a></span> - Method in class org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/AbstractDependency.html" title="class in org.apache.felix.dm.context">AbstractDependency</a></dt>
<dd>
<div class="block">Sets the add/change/remove callbacks.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/AbstractDependency.html#setCallbacks(java.lang.Object,%20java.lang.String,%20java.lang.String)">setCallbacks(Object, String, String)</a></span> - Method in class org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/AbstractDependency.html" title="class in org.apache.felix.dm.context">AbstractDependency</a></dt>
<dd>
<div class="block">Sets the callbacks for this service.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/AbstractDependency.html#setCallbacks(java.lang.Object,%20java.lang.String,%20java.lang.String,%20java.lang.String)">setCallbacks(Object, String, String, String)</a></span> - Method in class org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/AbstractDependency.html" title="class in org.apache.felix.dm.context">AbstractDependency</a></dt>
<dd>
<div class="block">Sets the callbacks for this service.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/ResourceDependency.html#setCallbacks(java.lang.String,%20java.lang.String)">setCallbacks(String, String)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/ResourceDependency.html" title="interface in org.apache.felix.dm">ResourceDependency</a></dt>
<dd>
<div class="block">Sets the callbacks for this service.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/ResourceDependency.html#setCallbacks(java.lang.String,%20java.lang.String,%20java.lang.String)">setCallbacks(String, String, String)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/ResourceDependency.html" title="interface in org.apache.felix.dm">ResourceDependency</a></dt>
<dd>
<div class="block">Sets the callbacks for this service.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/ResourceDependency.html#setCallbacks(java.lang.Object,%20java.lang.String,%20java.lang.String)">setCallbacks(Object, String, String)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/ResourceDependency.html" title="interface in org.apache.felix.dm">ResourceDependency</a></dt>
<dd>
<div class="block">Sets the callbacks for this service.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/ResourceDependency.html#setCallbacks(java.lang.Object,%20java.lang.String,%20java.lang.String,%20java.lang.String)">setCallbacks(Object, String, String, String)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/ResourceDependency.html" title="interface in org.apache.felix.dm">ResourceDependency</a></dt>
<dd>
<div class="block">Sets the callbacks for this service.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/ServiceDependency.html#setCallbacks(java.lang.String,%20java.lang.String)">setCallbacks(String, String)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/ServiceDependency.html" title="interface in org.apache.felix.dm">ServiceDependency</a></dt>
<dd>
<div class="block">Sets the callbacks for this service.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/ServiceDependency.html#setCallbacks(java.lang.String,%20java.lang.String,%20java.lang.String)">setCallbacks(String, String, String)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/ServiceDependency.html" title="interface in org.apache.felix.dm">ServiceDependency</a></dt>
<dd>
<div class="block">Sets the callbacks for this service.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/ServiceDependency.html#setCallbacks(java.lang.String,%20java.lang.String,%20java.lang.String,%20java.lang.String)">setCallbacks(String, String, String, String)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/ServiceDependency.html" title="interface in org.apache.felix.dm">ServiceDependency</a></dt>
<dd>
<div class="block">Sets the callbacks for this service.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/ServiceDependency.html#setCallbacks(java.lang.Object,%20java.lang.String,%20java.lang.String)">setCallbacks(Object, String, String)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/ServiceDependency.html" title="interface in org.apache.felix.dm">ServiceDependency</a></dt>
<dd>
<div class="block">Sets the callbacks for this service.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/ServiceDependency.html#setCallbacks(java.lang.Object,%20java.lang.String,%20java.lang.String,%20java.lang.String)">setCallbacks(Object, String, String, String)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/ServiceDependency.html" title="interface in org.apache.felix.dm">ServiceDependency</a></dt>
<dd>
<div class="block">Sets the callbacks for this service.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/ServiceDependency.html#setCallbacks(java.lang.Object,%20java.lang.String,%20java.lang.String,%20java.lang.String,%20java.lang.String)">setCallbacks(Object, String, String, String, String)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/ServiceDependency.html" title="interface in org.apache.felix.dm">ServiceDependency</a></dt>
<dd>
<div class="block">Sets the callbacks for this service.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/PropertyMetaData.html#setCardinality(int)">setCardinality(int)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/PropertyMetaData.html" title="interface in org.apache.felix.dm">PropertyMetaData</a></dt>
<dd>
<div class="block">Return the cardinality of this property.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/AbstractDependency.html#setComponentContext(org.apache.felix.dm.context.ComponentContext)">setComponentContext(ComponentContext)</a></span> - Method in class org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/AbstractDependency.html" title="class in org.apache.felix.dm.context">AbstractDependency</a></dt>
<dd>
<div class="block">Called by the Component implementation before the Dependency can be started.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/DependencyContext.html#setComponentContext(org.apache.felix.dm.context.ComponentContext)">setComponentContext(ComponentContext)</a></span> - Method in interface org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/DependencyContext.html" title="interface in org.apache.felix.dm.context">DependencyContext</a></dt>
<dd>
<div class="block">Stores the Component implementation context in the Dependency Implementation.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/Component.html#setComposition(java.lang.Object,%20java.lang.String)">setComposition(Object, String)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a></dt>
<dd>
<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>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/Component.html#setComposition(java.lang.String)">setComposition(String)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a></dt>
<dd>
<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>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/Component.html#setDebug(java.lang.String)">setDebug(String)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a></dt>
<dd>
<div class="block">Activate debug for this component.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/ServiceDependency.html#setDebug(java.lang.String)">setDebug(String)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/ServiceDependency.html" title="interface in org.apache.felix.dm">ServiceDependency</a></dt>
<dd>
<div class="block">Enabled debug logging for this dependency instance.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/tracker/ServiceTracker.html#setDebug(java.lang.String)">setDebug(String)</a></span> - Method in class org.apache.felix.dm.tracker.<a href="./org/apache/felix/dm/tracker/ServiceTracker.html" title="class in org.apache.felix.dm.tracker">ServiceTracker</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/Logger.html#setDebugKey(java.lang.String)">setDebugKey(String)</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/Logger.html" title="class in org.apache.felix.dm">Logger</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/ServiceDependency.html#setDefaultImplementation(java.lang.Object)">setDefaultImplementation(Object)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/ServiceDependency.html" title="interface in org.apache.felix.dm">ServiceDependency</a></dt>
<dd>
<div class="block">Sets the default implementation for this service dependency.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/PropertyMetaData.html#setDefaults(java.lang.String[])">setDefaults(String[])</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/PropertyMetaData.html" title="interface in org.apache.felix.dm">PropertyMetaData</a></dt>
<dd>
<div class="block">Returns a default for this property.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/ConfigurationDependency.html#setDescription(java.lang.String)">setDescription(String)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/ConfigurationDependency.html" title="interface in org.apache.felix.dm">ConfigurationDependency</a></dt>
<dd>
<div class="block">A human readable description of the PID this configuration is associated
 with.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/PropertyMetaData.html#setDescription(java.lang.String)">setDescription(String)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/PropertyMetaData.html" title="interface in org.apache.felix.dm">PropertyMetaData</a></dt>
<dd>
<div class="block">Returns the property description.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/Logger.html#setEnabledLevel(int)">setEnabledLevel(int)</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/Logger.html" title="class in org.apache.felix.dm">Logger</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/Component.html#setFactory(java.lang.Object,%20java.lang.String)">setFactory(Object, String)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a></dt>
<dd>
<div class="block">Sets the factory to use to create the implementation.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/Component.html#setFactory(java.lang.String)">setFactory(String)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a></dt>
<dd>
<div class="block">Sets the factory to use to create the implementation.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/BundleDependency.html#setFilter(java.lang.String)">setFilter(String)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/BundleDependency.html" title="interface in org.apache.felix.dm">BundleDependency</a></dt>
<dd>
<div class="block">Sets the filter condition to depend on.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/ResourceDependency.html#setFilter(java.lang.String)">setFilter(String)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/ResourceDependency.html" title="interface in org.apache.felix.dm">ResourceDependency</a></dt>
<dd>
<div class="block">Sets the filter condition for this resource dependency.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/ConfigurationDependency.html#setHeading(java.lang.String)">setHeading(String)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/ConfigurationDependency.html" title="interface in org.apache.felix.dm">ConfigurationDependency</a></dt>
<dd>
<div class="block">The label used to display the tab name (or section) where the properties
 are displayed.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/PropertyMetaData.html#setHeading(java.lang.String)">setHeading(String)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/PropertyMetaData.html" title="interface in org.apache.felix.dm">PropertyMetaData</a></dt>
<dd>
<div class="block">The label used to display the property.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/PropertyMetaData.html#setId(java.lang.String)">setId(String)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/PropertyMetaData.html" title="interface in org.apache.felix.dm">PropertyMetaData</a></dt>
<dd>
<div class="block">The key of a ConfigurationAdmin property.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/Component.html#setImplementation(java.lang.Object)">setImplementation(Object)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a></dt>
<dd>
<div class="block">Sets the implementation for this component.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/AbstractDependency.html#setInstanceBound(boolean)">setInstanceBound(boolean)</a></span> - Method in class org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/AbstractDependency.html" title="class in org.apache.felix.dm.context">AbstractDependency</a></dt>
<dd>
<div class="block">Called by the Component implementation when the dependency is declared within the Component's init method.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/DependencyContext.html#setInstanceBound(boolean)">setInstanceBound(boolean)</a></span> - Method in interface org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/DependencyContext.html" title="interface in org.apache.felix.dm.context">DependencyContext</a></dt>
<dd>
<div class="block">Sets this dependency as "instance bound".</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/Component.html#setInterface(java.lang.String,%20java.util.Dictionary)">setInterface(String, Dictionary&lt;?, ?&gt;)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a></dt>
<dd>
<div class="block">Sets the public interface under which this component should be registered
 in the OSGi service registry.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/Component.html#setInterface(java.lang.String[],%20java.util.Dictionary)">setInterface(String[], Dictionary&lt;?, ?&gt;)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a></dt>
<dd>
<div class="block">Sets the public interfaces under which this component should be registered
 in the OSGi service registry.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/ConfigurationDependency.html#setLocalization(java.lang.String)">setLocalization(String)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/ConfigurationDependency.html" title="interface in org.apache.felix.dm">ConfigurationDependency</a></dt>
<dd>
<div class="block">Points to the basename of the Properties file that can localize the Meta
 Type informations.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/ConfigurationDependency.html#setPid(java.lang.String)">setPid(String)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/ConfigurationDependency.html" title="interface in org.apache.felix.dm">ConfigurationDependency</a></dt>
<dd>
<div class="block">Sets the <code>service.pid</code> of the configuration you are depending
 on.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/BundleDependency.html#setPropagate(boolean)">setPropagate(boolean)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/BundleDependency.html" title="interface in org.apache.felix.dm">BundleDependency</a></dt>
<dd>
<div class="block">Sets property propagation.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/BundleDependency.html#setPropagate(java.lang.Object,%20java.lang.String)">setPropagate(Object, String)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/BundleDependency.html" title="interface in org.apache.felix.dm">BundleDependency</a></dt>
<dd>
<div class="block">Sets an Object instance and a callback method used to propagate some properties to the provided service properties.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/ConfigurationDependency.html#setPropagate(boolean)">setPropagate(boolean)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/ConfigurationDependency.html" title="interface in org.apache.felix.dm">ConfigurationDependency</a></dt>
<dd>
<div class="block">Sets propagation of the configuration properties to the service
 properties.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/AbstractDependency.html#setPropagate(boolean)">setPropagate(boolean)</a></span> - Method in class org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/AbstractDependency.html" title="class in org.apache.felix.dm.context">AbstractDependency</a></dt>
<dd>
<div class="block">Activates Dependency service properties propagation (to the service properties of the component to which this
 dependency is added).</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/AbstractDependency.html#setPropagate(java.lang.Object,%20java.lang.String)">setPropagate(Object, String)</a></span> - Method in class org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/AbstractDependency.html" title="class in org.apache.felix.dm.context">AbstractDependency</a></dt>
<dd>
<div class="block">Sets a callback instance which can ba invoked with the given method in order to dynamically retrieve the 
 dependency service properties.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/ResourceDependency.html#setPropagate(boolean)">setPropagate(boolean)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/ResourceDependency.html" title="interface in org.apache.felix.dm">ResourceDependency</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/ResourceDependency.html#setPropagate(java.lang.Object,%20java.lang.String)">setPropagate(Object, String)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/ResourceDependency.html" title="interface in org.apache.felix.dm">ResourceDependency</a></dt>
<dd>
<div class="block">Sets an Object instance and a callback method used to propagate some properties to the provided service properties.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/ServiceDependency.html#setPropagate(boolean)">setPropagate(boolean)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/ServiceDependency.html" title="interface in org.apache.felix.dm">ServiceDependency</a></dt>
<dd>
<div class="block">Sets propagation of the service dependency properties to the provided service properties.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/ServiceDependency.html#setPropagate(java.lang.Object,%20java.lang.String)">setPropagate(Object, String)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/ServiceDependency.html" title="interface in org.apache.felix.dm">ServiceDependency</a></dt>
<dd>
<div class="block">Sets an Object instance and a callback method used to propagate some properties to the provided service properties.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/BundleDependency.html#setRequired(boolean)">setRequired(boolean)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/BundleDependency.html" title="interface in org.apache.felix.dm">BundleDependency</a></dt>
<dd>
<div class="block">Sets the dependency to be required.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/AbstractDependency.html#setRequired(boolean)">setRequired(boolean)</a></span> - Method in class org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/AbstractDependency.html" title="class in org.apache.felix.dm.context">AbstractDependency</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/PropertyMetaData.html#setRequired(boolean)">setRequired(boolean)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/PropertyMetaData.html" title="interface in org.apache.felix.dm">PropertyMetaData</a></dt>
<dd>
<div class="block">Tells if this property is required or not.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/ResourceDependency.html#setRequired(boolean)">setRequired(boolean)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/ResourceDependency.html" title="interface in org.apache.felix.dm">ResourceDependency</a></dt>
<dd>
<div class="block">Determines if this is a required dependency or not.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/ServiceDependency.html#setRequired(boolean)">setRequired(boolean)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/ServiceDependency.html" title="interface in org.apache.felix.dm">ServiceDependency</a></dt>
<dd>
<div class="block">Sets the required flag which determines if this service is required or not.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/ResourceDependency.html#setResource(java.net.URL)">setResource(URL)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/ResourceDependency.html" title="interface in org.apache.felix.dm">ResourceDependency</a></dt>
<dd>
<div class="block">Sets the resource for this dependency.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/ServiceDependency.html#setService(java.lang.Class)">setService(Class&lt;?&gt;)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/ServiceDependency.html" title="interface in org.apache.felix.dm">ServiceDependency</a></dt>
<dd>
<div class="block">Sets the name of the service that should be tracked.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/ServiceDependency.html#setService(java.lang.Class,%20java.lang.String)">setService(Class&lt;?&gt;, String)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/ServiceDependency.html" title="interface in org.apache.felix.dm">ServiceDependency</a></dt>
<dd>
<div class="block">Sets the name of the service that should be tracked.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/ServiceDependency.html#setService(java.lang.String)">setService(String)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/ServiceDependency.html" title="interface in org.apache.felix.dm">ServiceDependency</a></dt>
<dd>
<div class="block">Sets the filter for the services that should be tracked.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/ServiceDependency.html#setService(java.lang.Class,%20ServiceReference)">setService(Class&lt;?&gt;, ServiceReference)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/ServiceDependency.html" title="interface in org.apache.felix.dm">ServiceDependency</a></dt>
<dd>
<div class="block">Sets the name of the service that should be tracked.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/Component.html#setServiceProperties(java.util.Dictionary)">setServiceProperties(Dictionary&lt;?, ?&gt;)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a></dt>
<dd>
<div class="block">Sets the service properties associated with the component.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/BundleDependency.html#setStateMask(int)">setStateMask(int)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/BundleDependency.html" title="interface in org.apache.felix.dm">BundleDependency</a></dt>
<dd>
<div class="block">Sets the bundle state mask to depend on.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/ComponentContext.html#setThreadPool(java.util.concurrent.Executor)">setThreadPool(Executor)</a></span> - Method in interface org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/ComponentContext.html" title="interface in org.apache.felix.dm.context">ComponentContext</a></dt>
<dd>
<div class="block">Sets a threadpool that the component will use when handling external events</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/PropertyMetaData.html#setType(java.lang.Class)">setType(Class&lt;?&gt;)</a></span> - Method in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/PropertyMetaData.html" title="interface in org.apache.felix.dm">PropertyMetaData</a></dt>
<dd>
<div class="block">Returns the property primitive type.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/tracker/BundleTracker.html#size()">size()</a></span> - Method in class org.apache.felix.dm.tracker.<a href="./org/apache/felix/dm/tracker/BundleTracker.html" title="class in org.apache.felix.dm.tracker">BundleTracker</a></dt>
<dd>
<div class="block">Return the number of bundles being tracked by this
 <code>BundleTracker</code>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/tracker/ServiceTracker.html#size()">size()</a></span> - Method in class org.apache.felix.dm.tracker.<a href="./org/apache/felix/dm/tracker/ServiceTracker.html" title="class in org.apache.felix.dm.tracker">ServiceTracker</a></dt>
<dd>
<div class="block">Return the number of services being tracked by this
 <code>ServiceTracker</code>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/AbstractDependency.html#start()">start()</a></span> - Method in class org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/AbstractDependency.html" title="class in org.apache.felix.dm.context">AbstractDependency</a></dt>
<dd>
<div class="block">Starts this dependency.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/ComponentContext.html#start()">start()</a></span> - Method in interface org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/ComponentContext.html" title="interface in org.apache.felix.dm.context">ComponentContext</a></dt>
<dd>
<div class="block">Starts the component.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/DependencyContext.html#start()">start()</a></span> - Method in interface org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/DependencyContext.html" title="interface in org.apache.felix.dm.context">DependencyContext</a></dt>
<dd>
<div class="block">Invoked by the component context when the dependency should start working.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/DependencyActivatorBase.html#start(BundleContext)">start(BundleContext)</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/DependencyActivatorBase.html" title="class in org.apache.felix.dm">DependencyActivatorBase</a></dt>
<dd>
<div class="block">Start method of the bundle activator.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/ComponentDependencyDeclaration.html#STATE_AVAILABLE_OPTIONAL">STATE_AVAILABLE_OPTIONAL</a></span> - Static variable in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/ComponentDependencyDeclaration.html" title="interface in org.apache.felix.dm">ComponentDependencyDeclaration</a></dt>
<dd>
<div class="block">State constant for an available, optional dependency.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/ComponentDependencyDeclaration.html#STATE_AVAILABLE_REQUIRED">STATE_AVAILABLE_REQUIRED</a></span> - Static variable in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/ComponentDependencyDeclaration.html" title="interface in org.apache.felix.dm">ComponentDependencyDeclaration</a></dt>
<dd>
<div class="block">State constant for an available, required dependency.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/ComponentDeclaration.html#STATE_NAMES">STATE_NAMES</a></span> - Static variable in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/ComponentDeclaration.html" title="interface in org.apache.felix.dm">ComponentDeclaration</a></dt>
<dd>
<div class="block">Names for the states of this component.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/ComponentDependencyDeclaration.html#STATE_NAMES">STATE_NAMES</a></span> - Static variable in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/ComponentDependencyDeclaration.html" title="interface in org.apache.felix.dm">ComponentDependencyDeclaration</a></dt>
<dd>
<div class="block">Names for the states of this dependency.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/ComponentDependencyDeclaration.html#STATE_OPTIONAL">STATE_OPTIONAL</a></span> - Static variable in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/ComponentDependencyDeclaration.html" title="interface in org.apache.felix.dm">ComponentDependencyDeclaration</a></dt>
<dd>
<div class="block">State constant for an optional dependency that has not been started yet.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/ComponentDeclaration.html#STATE_REGISTERED">STATE_REGISTERED</a></span> - Static variable in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/ComponentDeclaration.html" title="interface in org.apache.felix.dm">ComponentDeclaration</a></dt>
<dd>
<div class="block">State constant for a registered component.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/ComponentDependencyDeclaration.html#STATE_REQUIRED">STATE_REQUIRED</a></span> - Static variable in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/ComponentDependencyDeclaration.html" title="interface in org.apache.felix.dm">ComponentDependencyDeclaration</a></dt>
<dd>
<div class="block">State constant for a required dependency that has not been started yet.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/ComponentDependencyDeclaration.html#STATE_UNAVAILABLE_OPTIONAL">STATE_UNAVAILABLE_OPTIONAL</a></span> - Static variable in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/ComponentDependencyDeclaration.html" title="interface in org.apache.felix.dm">ComponentDependencyDeclaration</a></dt>
<dd>
<div class="block">State constant for an unavailable, optional dependency.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/ComponentDependencyDeclaration.html#STATE_UNAVAILABLE_REQUIRED">STATE_UNAVAILABLE_REQUIRED</a></span> - Static variable in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/ComponentDependencyDeclaration.html" title="interface in org.apache.felix.dm">ComponentDependencyDeclaration</a></dt>
<dd>
<div class="block">State constant for an unavailable, required dependency.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/ComponentDeclaration.html#STATE_UNREGISTERED">STATE_UNREGISTERED</a></span> - Static variable in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/ComponentDeclaration.html" title="interface in org.apache.felix.dm">ComponentDeclaration</a></dt>
<dd>
<div class="block">State constant for an unregistered component.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/AbstractDependency.html#stop()">stop()</a></span> - Method in class org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/AbstractDependency.html" title="class in org.apache.felix.dm.context">AbstractDependency</a></dt>
<dd>
<div class="block">Starts this dependency.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/ComponentContext.html#stop()">stop()</a></span> - Method in interface org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/ComponentContext.html" title="interface in org.apache.felix.dm.context">ComponentContext</a></dt>
<dd>
<div class="block">Stops the component.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/DependencyContext.html#stop()">stop()</a></span> - Method in interface org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/DependencyContext.html" title="interface in org.apache.felix.dm.context">DependencyContext</a></dt>
<dd>
<div class="block">Invoked by the component context when the dependency should stop working.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/DependencyActivatorBase.html#stop(BundleContext)">stop(BundleContext)</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/DependencyActivatorBase.html" title="class in org.apache.felix.dm">DependencyActivatorBase</a></dt>
<dd>
<div class="block">Stop method of the bundle activator.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/tracker/ServiceTracker.html#swappedService(ServiceReference,%20java.lang.Object,%20ServiceReference,%20java.lang.Object)">swappedService(ServiceReference, Object, ServiceReference, Object)</a></span> - Method in class org.apache.felix.dm.tracker.<a href="./org/apache/felix/dm/tracker/ServiceTracker.html" title="class in org.apache.felix.dm.tracker">ServiceTracker</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/tracker/ServiceTrackerCustomizer.html#swappedService(ServiceReference,%20java.lang.Object,%20ServiceReference,%20java.lang.Object)">swappedService(ServiceReference, Object, ServiceReference, Object)</a></span> - Method in interface org.apache.felix.dm.tracker.<a href="./org/apache/felix/dm/tracker/ServiceTrackerCustomizer.html" title="interface in org.apache.felix.dm.tracker">ServiceTrackerCustomizer</a></dt>
<dd>
<div class="block">A service tracked by the <code>ServiceTracker</code> has an aspect service 
 added or removed for a tracked service.</div>
</dd>
</dl>
<a name="_T_">
<!--   -->
</a>
<h2 class="title">T</h2>
<dl>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/AbstractDependency.html#toString()">toString()</a></span> - Method in class org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/AbstractDependency.html" title="class in org.apache.felix.dm.context">AbstractDependency</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/diagnostics/CircularDependency.html#toString()">toString()</a></span> - Method in class org.apache.felix.dm.diagnostics.<a href="./org/apache/felix/dm/diagnostics/CircularDependency.html" title="class in org.apache.felix.dm.diagnostics">CircularDependency</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/diagnostics/MissingDependency.html#toString()">toString()</a></span> - Method in class org.apache.felix.dm.diagnostics.<a href="./org/apache/felix/dm/diagnostics/MissingDependency.html" title="class in org.apache.felix.dm.diagnostics">MissingDependency</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/tracker/AbstractCustomizerActionSet.html#toString()">toString()</a></span> - Method in class org.apache.felix.dm.tracker.<a href="./org/apache/felix/dm/tracker/AbstractCustomizerActionSet.html" title="class in org.apache.felix.dm.tracker">AbstractCustomizerActionSet</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="_U_">
<!--   -->
</a>
<h2 class="title">U</h2>
<dl>
<dt><span class="strong"><a href="./org/apache/felix/dm/ResourceHandler.html#URL">URL</a></span> - Static variable in interface org.apache.felix.dm.<a href="./org/apache/felix/dm/ResourceHandler.html" title="interface in org.apache.felix.dm">ResourceHandler</a></dt>
<dd>
<div class="block">Exact URL that this handler is looking for.</div>
</dd>
</dl>
<a name="_V_">
<!--   -->
</a>
<h2 class="title">V</h2>
<dl>
<dt><span class="strong"><a href="./org/apache/felix/dm/ComponentState.html#valueOf(java.lang.String)">valueOf(String)</a></span> - Static method in enum org.apache.felix.dm.<a href="./org/apache/felix/dm/ComponentState.html" title="enum in org.apache.felix.dm">ComponentState</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/EventType.html#valueOf(java.lang.String)">valueOf(String)</a></span> - Static method in enum org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/EventType.html" title="enum in org.apache.felix.dm.context">EventType</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/diagnostics/DependencyGraph.ComponentState.html#valueOf(java.lang.String)">valueOf(String)</a></span> - Static method in enum org.apache.felix.dm.diagnostics.<a href="./org/apache/felix/dm/diagnostics/DependencyGraph.ComponentState.html" title="enum in org.apache.felix.dm.diagnostics">DependencyGraph.ComponentState</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/diagnostics/DependencyGraph.DependencyState.html#valueOf(java.lang.String)">valueOf(String)</a></span> - Static method in enum org.apache.felix.dm.diagnostics.<a href="./org/apache/felix/dm/diagnostics/DependencyGraph.DependencyState.html" title="enum in org.apache.felix.dm.diagnostics">DependencyGraph.DependencyState</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/ComponentState.html#values()">values()</a></span> - Static method in enum org.apache.felix.dm.<a href="./org/apache/felix/dm/ComponentState.html" title="enum in org.apache.felix.dm">ComponentState</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/context/EventType.html#values()">values()</a></span> - Static method in enum org.apache.felix.dm.context.<a href="./org/apache/felix/dm/context/EventType.html" title="enum in org.apache.felix.dm.context">EventType</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/diagnostics/DependencyGraph.ComponentState.html#values()">values()</a></span> - Static method in enum org.apache.felix.dm.diagnostics.<a href="./org/apache/felix/dm/diagnostics/DependencyGraph.ComponentState.html" title="enum in org.apache.felix.dm.diagnostics">DependencyGraph.ComponentState</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/diagnostics/DependencyGraph.DependencyState.html#values()">values()</a></span> - Static method in enum org.apache.felix.dm.diagnostics.<a href="./org/apache/felix/dm/diagnostics/DependencyGraph.DependencyState.html" title="enum in org.apache.felix.dm.diagnostics">DependencyGraph.DependencyState</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
</dl>
<a name="_W_">
<!--   -->
</a>
<h2 class="title">W</h2>
<dl>
<dt><span class="strong"><a href="./org/apache/felix/dm/tracker/ServiceTracker.html#waitForService(long)">waitForService(long)</a></span> - Method in class org.apache.felix.dm.tracker.<a href="./org/apache/felix/dm/tracker/ServiceTracker.html" title="class in org.apache.felix.dm.tracker">ServiceTracker</a></dt>
<dd>
<div class="block">Wait for at least one service to be tracked by this
 <code>ServiceTracker</code>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/Logger.html#warn(java.lang.String,%20java.lang.Object...)">warn(String, Object...)</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/Logger.html" title="class in org.apache.felix.dm">Logger</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="./org/apache/felix/dm/Logger.html#warn(java.lang.String,%20java.lang.Throwable,%20java.lang.Object...)">warn(String, Throwable, Object...)</a></span> - Method in class org.apache.felix.dm.<a href="./org/apache/felix/dm/Logger.html" title="class in org.apache.felix.dm">Logger</a></dt>
<dd>&nbsp;</dd>
</dl>
<a href="#_A_">A</a>&nbsp;<a href="#_B_">B</a>&nbsp;<a href="#_C_">C</a>&nbsp;<a href="#_D_">D</a>&nbsp;<a href="#_E_">E</a>&nbsp;<a href="#_F_">F</a>&nbsp;<a href="#_G_">G</a>&nbsp;<a href="#_H_">H</a>&nbsp;<a href="#_I_">I</a>&nbsp;<a href="#_L_">L</a>&nbsp;<a href="#_M_">M</a>&nbsp;<a href="#_N_">N</a>&nbsp;<a href="#_O_">O</a>&nbsp;<a href="#_P_">P</a>&nbsp;<a href="#_R_">R</a>&nbsp;<a href="#_S_">S</a>&nbsp;<a href="#_T_">T</a>&nbsp;<a href="#_U_">U</a>&nbsp;<a href="#_V_">V</a>&nbsp;<a href="#_W_">W</a>&nbsp;</div>
<!-- ======= 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>Package</li>
<li>Class</li>
<li><a href="./overview-tree.html">Tree</a></li>
<li><a href="./deprecated-list.html">Deprecated</a></li>
<li class="navBarCell1Rev">Index</li>
<li><a href="./help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="./index.html?index-all.html" target="_top">Frames</a></li>
<li><a href="index-all.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>
<a name="skip-navbar_bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>
