You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by bu...@apache.org on 2017/02/14 07:01:03 UTC

svn commit: r1006730 [5/16] - in /websites/staging/felix/trunk/content: ./ apidocs/dependencymanager/r9/ apidocs/dependencymanager/r9/org/ apidocs/dependencymanager/r9/org/apache/ apidocs/dependencymanager/r9/org/apache/felix/ apidocs/dependencymanager...

Added: websites/staging/felix/trunk/content/apidocs/dependencymanager/r9/org/apache/felix/dm/ConfigurationDependency.html
==============================================================================
--- websites/staging/felix/trunk/content/apidocs/dependencymanager/r9/org/apache/felix/dm/ConfigurationDependency.html (added)
+++ websites/staging/felix/trunk/content/apidocs/dependencymanager/r9/org/apache/felix/dm/ConfigurationDependency.html Tue Feb 14 07:01:02 2017
@@ -0,0 +1,661 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_102) on Tue Feb 14 07:57:57 CET 2017 -->
+<title>ConfigurationDependency</title>
+<meta name="date" content="2017-02-14">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="ConfigurationDependency";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/felix/dm/ComponentStateListener.html" title="interface in org.apache.felix.dm"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/felix/dm/Dependency.html" title="interface in org.apache.felix.dm"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/felix/dm/ConfigurationDependency.html" target="_top">Frames</a></li>
+<li><a href="ConfigurationDependency.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.felix.dm</div>
+<h2 title="Interface ConfigurationDependency" class="title">Interface ConfigurationDependency</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Superinterfaces:</dt>
+<dd><a href="../../../../org/apache/felix/dm/ComponentDependencyDeclaration.html" title="interface in org.apache.felix.dm">ComponentDependencyDeclaration</a>, <a href="../../../../org/apache/felix/dm/Dependency.html" title="interface in org.apache.felix.dm">Dependency</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">ConfigurationDependency</span>
+extends <a href="../../../../org/apache/felix/dm/Dependency.html" title="interface in org.apache.felix.dm">Dependency</a>, <a href="../../../../org/apache/felix/dm/ComponentDependencyDeclaration.html" title="interface in org.apache.felix.dm">ComponentDependencyDeclaration</a></pre>
+<div class="block">Configuration dependency that can track the availability of a (valid) configuration. To use
+ it, specify a PID for the configuration. The dependency is required by default. If you define
+ an optional configuration dependency, the updated callback will be invoked with an empty Dictionary,
+ or with a type-safe configuration (which in this case can provide some default methods that you can
+ use to inialize your component).
+ <p>
+ Also, only managed services are supported, not factories. If you need support for factories, then
+ you can use 
+ <a href="../../../../org/apache/felix/dm/DependencyManager.html#createFactoryConfigurationAdapterService-java.lang.String-java.lang.String-boolean-"><code>DependencyManager.createFactoryConfigurationAdapterService(String, String, boolean)</code></a>.
+ There are a couple of things you need to be aware of when implementing the 
+ <code>updated(Dictionary)</code> method:<p>
+ <ul>
+ <li>Make sure it throws a <code>ConfigurationException</code> or any other exception when you 
+ get a configuration that is invalid. In this case, the dependency will not change: 
+ if it was not available, it will still not be. If it was available, it will remain available 
+ and implicitly assume you keep working with your old configuration.</li>
+ <li>This method will be called before all required dependencies are available. Make sure you
+ do not depend on these to parse your settings.</li>
+ <li>When the configuration is lost, updated callback is invoked with a null dictionary parameter,
+ and then the component stop lifecycle callback is invoked.
+ <li>When the DM component is stopped, then updated(null) is not invoked.
+ </ul>
+ 
+ <p> The callback invoked when a configuration dependency is updated can supports the following signatures:<p>
+ <ul><li> updated(Dictionary)
+     <li> updated(Component, Dictionary)
+     <li> updated(ConfigurationType)
+     <li> updated(Component, ConfigurationType)
+ </ul>
+ 
+ <p> Support for a custom Configuration type is a new feature that allows you to specify an interface that is implemented 
+ by DM and such interface is then injected to your callback instead of the actual Dictionary.
+ Using such configuration interface provides a way for creating type-safe configurations from a actual <code>Dictionary</code> that is
+ normally injected by Dependency Manager.
+ The callback accepts in argument an interface that you have to provide, and DM will inject a proxy that converts
+ method calls from your configuration-type to lookups in the actual map or dictionary. The results of these lookups are then
+ converted to the expected return type of the invoked configuration method.<br>
+ As proxies are injected, no implementations of the desired configuration-type are necessary!
+ </p>
+ <p>
+ The lookups performed are based on the name of the method called on the configuration type. The method names are
+ "mangled" to the following form: <tt>[lower case letter] [any valid character]*</tt>. Method names starting with
+ <tt>get</tt> or <tt>is</tt> (JavaBean convention) are stripped from these prefixes. For example: given a dictionary
+ with the key <tt>"foo"</tt> can be accessed from a configuration-type using the following method names:
+ <tt>foo()</tt>, <tt>getFoo()</tt> and <tt>isFoo()</tt>.<p> 
+ 
+ If the property contains a dot (which is invalid in java method names), then dots (".") can be converted using the following conventions: 
+ <ul>
+ 
+ <li> if the method name follows the javabean convention and/or kamel casing convention, then each capital letter is assumed to map to a "dot", 
+ followed by the same letter in lower case. This means only lower case properties are 
+ supported in this case. Example: getFooBar() or fooBar() will map to "foo.bar" property.
+ 
+ <li> else, if the method name follows the standard OSGi metatype specification, then dots  
+ are encoded as "_"; and "_" is encoded as "__". (see OSGi r6 compendium, chapter 105.9.2).
+ Example: "foo_BAR()" is mapped to "foo.BAR" property; "foo__BAR_zoo()" is mapped to "foo_BAR.zoo" property.
+ </ul>
+ <p>
+ The return values supported are: primitive types (or their object wrappers), strings, enums, arrays of
+ primitives/strings, <code>Collection</code> types, <code>Map</code> types, <code>Class</code>es and interfaces. When an interface is
+ returned, it is treated equally to a configuration type, that is, it is returned as a proxy.
+ </p>
+ <p>
+ Arrays can be represented either as comma-separated values, optionally enclosed in square brackets. For example:
+ <tt>[ a, b, c ]</tt> and <tt>a, b,c</tt> are both considered an array of length 3 with the values "a", "b" and "c".
+ Alternatively, you can append the array index to the key in the dictionary to obtain the same: a dictionary with
+ "arr.0" =&gt; "a", "arr.1" =&gt; "b", "arr.2" =&gt; "c" would result in the same array as the earlier examples.
+ </p>
+ <p>
+ Maps can be represented as single string values similarly as arrays, each value consisting of both the key and value
+ separated by a dot. Optionally, the value can be enclosed in curly brackets. Similar to array, you can use the same
+ dot notation using the keys. For example, a dictionary with 
+ 
+ <pre><code> "map" =&gt; "{key1.value1, key2.value2}"</code></pre> 
+ 
+ and a dictionary with <p>
+ 
+ <pre><code> "map.key1" =&gt; "value1", "map2.key2" =&gt; "value2"</code></pre> 
+ 
+ result in the same map being returned.
+ Instead of a map, you could also define an interface with the methods <tt>getKey1()</tt> and <tt>getKey2</tt> and use
+ that interface as return type instead of a <code>Map</code>.
+ </p>
+ <p>
+ In case a lookup does not yield a value from the underlying map or dictionary, the following rules are applied:
+ <ol>
+ <li>primitive types yield their default value, as defined by the Java Specification;
+ <li>string, <code>Class</code>es and enum values yield <code>null</code>;
+ <li>for arrays, collections and maps, an empty array/collection/map is returned;
+ <li>for other interface types that are treated as configuration type a null-object is returned.
+ </ol>
+ </p></div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.felix.dm.ComponentDependencyDeclaration">
+<!--   -->
+</a>
+<h3>Fields inherited from interface&nbsp;org.apache.felix.dm.<a href="../../../../org/apache/felix/dm/ComponentDependencyDeclaration.html" title="interface in org.apache.felix.dm">ComponentDependencyDeclaration</a></h3>
+<code><a href="../../../../org/apache/felix/dm/ComponentDependencyDeclaration.html#STATE_AVAILABLE_OPTIONAL">STATE_AVAILABLE_OPTIONAL</a>, <a href="../../../../org/apache/felix/dm/ComponentDependencyDeclaration.html#STATE_AVAILABLE_REQUIRED">STATE_AVAILABLE_REQUIRED</a>, <a href="../../../../org/apache/felix/dm/ComponentDependencyDeclaration.html#STATE_NAMES">STATE_NAMES</a>, <a href="../../../../org/apache/felix/dm/ComponentDependencyDeclaration.html#STATE_OPTIONAL">STATE_OPTIONAL</a>, <a href="../../../../org/apache/felix/dm/ComponentDependencyDeclaration.html#STATE_REQUIRED">STATE_REQUIRED</a>, <a href="../../../../org/apache/felix/dm/ComponentDependencyDeclaration.html#STATE_UNAVAILABLE_OPTIONAL">STATE_UNAVAILABLE_OPTIONAL</a>, <a href="../../../../org/apache/felix/dm/ComponentDependencyDeclaration.html#STATE_UNAVAILABLE_REQUIRED">STATE_UNAVAILABLE_REQUIRED</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/felix/dm/ConfigurationDependency.html" title="interface in org.apache.felix.dm">ConfigurationDependency</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/ConfigurationDependency.html#add-org.apache.felix.dm.PropertyMetaData-">add</a></span>(<a href="../../../../org/apache/felix/dm/PropertyMetaData.html" title="interface in org.apache.felix.dm">PropertyMetaData</a>&nbsp;properties)</code>
+<div class="block">Adds a MetaData regarding a given configuration property.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/felix/dm/ConfigurationDependency.html" title="interface in org.apache.felix.dm">ConfigurationDependency</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/ConfigurationDependency.html#setCallback-java.lang.Object-java.lang.String-">setCallback</a></span>(java.lang.Object&nbsp;instance,
+           java.lang.String&nbsp;callback)</code>
+<div class="block">Sets the name of the callback method that should be invoked when a configuration
+ is available.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/felix/dm/ConfigurationDependency.html" title="interface in org.apache.felix.dm">ConfigurationDependency</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/ConfigurationDependency.html#setCallback-java.lang.Object-java.lang.String-boolean-">setCallback</a></span>(java.lang.Object&nbsp;instance,
+           java.lang.String&nbsp;callback,
+           boolean&nbsp;needsInstance)</code>
+<div class="block">Sets the name of the callback method that should be invoked when a configuration
+ is available.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/felix/dm/ConfigurationDependency.html" title="interface in org.apache.felix.dm">ConfigurationDependency</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/ConfigurationDependency.html#setCallback-java.lang.Object-java.lang.String-java.lang.Class-">setCallback</a></span>(java.lang.Object&nbsp;instance,
+           java.lang.String&nbsp;callback,
+           java.lang.Class&lt;?&gt;&nbsp;configType)</code>
+<div class="block">Sets the name of the callback method that should be invoked when a configuration
+ is available.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/felix/dm/ConfigurationDependency.html" title="interface in org.apache.felix.dm">ConfigurationDependency</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/ConfigurationDependency.html#setCallback-java.lang.Object-java.lang.String-java.lang.Class-boolean-">setCallback</a></span>(java.lang.Object&nbsp;instance,
+           java.lang.String&nbsp;callback,
+           java.lang.Class&lt;?&gt;&nbsp;configType,
+           boolean&nbsp;needsInstance)</code>
+<div class="block">Sets the name of the callback method that should be invoked when a configuration
+ is available.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/felix/dm/ConfigurationDependency.html" title="interface in org.apache.felix.dm">ConfigurationDependency</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/ConfigurationDependency.html#setCallback-java.lang.String-">setCallback</a></span>(java.lang.String&nbsp;callback)</code>
+<div class="block">Sets the name of the callback method that should be invoked when a configuration
+ is available.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/felix/dm/ConfigurationDependency.html" title="interface in org.apache.felix.dm">ConfigurationDependency</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/ConfigurationDependency.html#setCallback-java.lang.String-java.lang.Class-">setCallback</a></span>(java.lang.String&nbsp;callback,
+           java.lang.Class&lt;?&gt;&nbsp;configType)</code>
+<div class="block">Sets the name of the callback method that should be invoked when a configuration
+ is available.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/felix/dm/ConfigurationDependency.html" title="interface in org.apache.felix.dm">ConfigurationDependency</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/ConfigurationDependency.html#setDescription-java.lang.String-">setDescription</a></span>(java.lang.String&nbsp;description)</code>
+<div class="block">A human readable description of the PID this configuration is associated
+ with.</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/felix/dm/ConfigurationDependency.html" title="interface in org.apache.felix.dm">ConfigurationDependency</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/ConfigurationDependency.html#setHeading-java.lang.String-">setHeading</a></span>(java.lang.String&nbsp;heading)</code>
+<div class="block">The label used to display the tab name (or section) where the properties
+ are displayed.</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/felix/dm/ConfigurationDependency.html" title="interface in org.apache.felix.dm">ConfigurationDependency</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/ConfigurationDependency.html#setLocalization-java.lang.String-">setLocalization</a></span>(java.lang.String&nbsp;path)</code>
+<div class="block">Points to the basename of the Properties file that can localize the Meta
+ Type informations.</div>
+</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/felix/dm/ConfigurationDependency.html" title="interface in org.apache.felix.dm">ConfigurationDependency</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/ConfigurationDependency.html#setPid-java.lang.String-">setPid</a></span>(java.lang.String&nbsp;pid)</code>
+<div class="block">Sets the <code>service.pid</code> of the configuration you are depending on.</div>
+</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/felix/dm/ConfigurationDependency.html" title="interface in org.apache.felix.dm">ConfigurationDependency</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/ConfigurationDependency.html#setPropagate-boolean-">setPropagate</a></span>(boolean&nbsp;propagate)</code>
+<div class="block">Sets propagation of the configuration properties to the service
+ properties.</div>
+</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/felix/dm/ConfigurationDependency.html" title="interface in org.apache.felix.dm">ConfigurationDependency</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/ConfigurationDependency.html#setRequired-boolean-">setRequired</a></span>(boolean&nbsp;required)</code>
+<div class="block">Sets the required flag which determines if this configuration dependency is required or not.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.felix.dm.Dependency">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.felix.dm.<a href="../../../../org/apache/felix/dm/Dependency.html" title="interface in org.apache.felix.dm">Dependency</a></h3>
+<code><a href="../../../../org/apache/felix/dm/Dependency.html#getAutoConfigName--">getAutoConfigName</a>, <a href="../../../../org/apache/felix/dm/Dependency.html#getProperties--">getProperties</a>, <a href="../../../../org/apache/felix/dm/Dependency.html#isAutoConfig--">isAutoConfig</a>, <a href="../../../../org/apache/felix/dm/Dependency.html#isAvailable--">isAvailable</a>, <a href="../../../../org/apache/felix/dm/Dependency.html#isPropagated--">isPropagated</a>, <a href="../../../../org/apache/felix/dm/Dependency.html#isRequired--">isRequired</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.felix.dm.ComponentDependencyDeclaration">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.felix.dm.<a href="../../../../org/apache/felix/dm/ComponentDependencyDeclaration.html" title="interface in org.apache.felix.dm">ComponentDependencyDeclaration</a></h3>
+<code><a href="../../../../org/apache/felix/dm/ComponentDependencyDeclaration.html#getFilter--">getFilter</a>, <a href="../../../../org/apache/felix/dm/ComponentDependencyDeclaration.html#getName--">getName</a>, <a href="../../../../org/apache/felix/dm/ComponentDependencyDeclaration.html#getSimpleName--">getSimpleName</a>, <a href="../../../../org/apache/felix/dm/ComponentDependencyDeclaration.html#getState--">getState</a>, <a href="../../../../org/apache/felix/dm/ComponentDependencyDeclaration.html#getType--">getType</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="setCallback-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setCallback</h4>
+<pre><a href="../../../../org/apache/felix/dm/ConfigurationDependency.html" title="interface in org.apache.felix.dm">ConfigurationDependency</a>&nbsp;setCallback(java.lang.String&nbsp;callback)</pre>
+<div class="block">Sets the name of the callback method that should be invoked when a configuration
+ is available. The contract for this method is identical to that of
+ <code>ManagedService.updated(Dictionary) throws ConfigurationException</code>.
+ By default, if this method is not called, the callback name is "updated".
+ 
+ <p> The callback is invoked on the instantiated component.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>callback</code> - the name of the callback method</dd>
+</dl>
+</li>
+</ul>
+<a name="setCallback-java.lang.Object-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setCallback</h4>
+<pre><a href="../../../../org/apache/felix/dm/ConfigurationDependency.html" title="interface in org.apache.felix.dm">ConfigurationDependency</a>&nbsp;setCallback(java.lang.Object&nbsp;instance,
+                                    java.lang.String&nbsp;callback)</pre>
+<div class="block">Sets the name of the callback method that should be invoked when a configuration
+ is available. The contract for this method is identical to that of
+ <code>ManagedService.updated(Dictionary) throws ConfigurationException</code>.
+ 
+ <p> the callback is invoked on the callback instance, and the component is not 
+ yet instantiated at the time the callback is invoked.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>instance</code> - the object to invoke the callback on</dd>
+<dd><code>callback</code> - the name of the callback method</dd>
+</dl>
+</li>
+</ul>
+<a name="setCallback-java.lang.Object-java.lang.String-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setCallback</h4>
+<pre><a href="../../../../org/apache/felix/dm/ConfigurationDependency.html" title="interface in org.apache.felix.dm">ConfigurationDependency</a>&nbsp;setCallback(java.lang.Object&nbsp;instance,
+                                    java.lang.String&nbsp;callback,
+                                    boolean&nbsp;needsInstance)</pre>
+<div class="block">Sets the name of the callback method that should be invoked when a configuration
+ is available. The contract for this method is identical to that of
+ <code>ManagedService.updated(Dictionary) throws ConfigurationException</code>.
+ 
+ <p> the callback is invoked on the callback instance, and if <code>needsInstance</code> is true, 
+ the component is instantiated at the time the callback is invoked</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>instance</code> - the object to invoke the callback on.</dd>
+<dd><code>callback</code> - the name of the callback method</dd>
+<dd><code>needsInstance</code> - true if the component must be instantiated before the callback is invoked on the callback instance.</dd>
+</dl>
+</li>
+</ul>
+<a name="setCallback-java.lang.String-java.lang.Class-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setCallback</h4>
+<pre><a href="../../../../org/apache/felix/dm/ConfigurationDependency.html" title="interface in org.apache.felix.dm">ConfigurationDependency</a>&nbsp;setCallback(java.lang.String&nbsp;callback,
+                                    java.lang.Class&lt;?&gt;&nbsp;configType)</pre>
+<div class="block">Sets the name of the callback method that should be invoked when a configuration
+ is available. The contract for this method is identical to that of
+ <code>ManagedService.updated(Dictionary) throws ConfigurationException</code> with the difference that 
+ instead of a Dictionary it accepts an interface of the given configuration type.<br>
+ By default, the pid is assumed to match the fqdn of the configuration type.
+ 
+ <p>The callback is invoked on the instantiated component.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>callback</code> - the name of the callback method</dd>
+<dd><code>configType</code> - the configuration type that the callback method accepts.</dd>
+</dl>
+</li>
+</ul>
+<a name="setCallback-java.lang.Object-java.lang.String-java.lang.Class-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setCallback</h4>
+<pre><a href="../../../../org/apache/felix/dm/ConfigurationDependency.html" title="interface in org.apache.felix.dm">ConfigurationDependency</a>&nbsp;setCallback(java.lang.Object&nbsp;instance,
+                                    java.lang.String&nbsp;callback,
+                                    java.lang.Class&lt;?&gt;&nbsp;configType)</pre>
+<div class="block">Sets the name of the callback method that should be invoked when a configuration
+ is available. The contract for this method is identical to that of
+ <code>ManagedService.updated(Dictionary) throws ConfigurationException</code> with the difference that 
+ instead of a Dictionary it accepts an interface of the given configuration type.<br>
+ 
+ <p> The callback is invoked on the callback instance, and at this point the component is not yet instantiated.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>instance</code> - the object to invoke the callback on.</dd>
+<dd><code>callback</code> - the name of the callback method</dd>
+<dd><code>configType</code> - the configuration type that the callback method accepts.</dd>
+</dl>
+</li>
+</ul>
+<a name="setCallback-java.lang.Object-java.lang.String-java.lang.Class-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setCallback</h4>
+<pre><a href="../../../../org/apache/felix/dm/ConfigurationDependency.html" title="interface in org.apache.felix.dm">ConfigurationDependency</a>&nbsp;setCallback(java.lang.Object&nbsp;instance,
+                                    java.lang.String&nbsp;callback,
+                                    java.lang.Class&lt;?&gt;&nbsp;configType,
+                                    boolean&nbsp;needsInstance)</pre>
+<div class="block">Sets the name of the callback method that should be invoked when a configuration
+ is available. The contract for this method is identical to that of
+ <code>ManagedService.updated(Dictionary) throws ConfigurationException</code> with the difference that 
+ instead of a Dictionary it accepts an interface of the given configuration type.<br>
+ 
+ <p> the callback is invoked on the callback instance, and if <code>needsInstance</code> is true, 
+ the component is instantiated at the time the callback is invoked</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>instance</code> - the object to invoke the callback on.</dd>
+<dd><code>callback</code> - the name of the callback method</dd>
+<dd><code>configType</code> - the configuration type that the callback method accepts.</dd>
+<dd><code>needsInstance</code> - true if the component must be instantiated before the callback is invoked on the callback instance.</dd>
+</dl>
+</li>
+</ul>
+<a name="setPid-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setPid</h4>
+<pre><a href="../../../../org/apache/felix/dm/ConfigurationDependency.html" title="interface in org.apache.felix.dm">ConfigurationDependency</a>&nbsp;setPid(java.lang.String&nbsp;pid)</pre>
+<div class="block">Sets the <code>service.pid</code> of the configuration you are depending on.</div>
+</li>
+</ul>
+<a name="setPropagate-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setPropagate</h4>
+<pre><a href="../../../../org/apache/felix/dm/ConfigurationDependency.html" title="interface in org.apache.felix.dm">ConfigurationDependency</a>&nbsp;setPropagate(boolean&nbsp;propagate)</pre>
+<div class="block">Sets propagation of the configuration properties to the service
+ properties. Any additional service properties specified directly are
+ merged with these.</div>
+</li>
+</ul>
+<a name="setHeading-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setHeading</h4>
+<pre><a href="../../../../org/apache/felix/dm/ConfigurationDependency.html" title="interface in org.apache.felix.dm">ConfigurationDependency</a>&nbsp;setHeading(java.lang.String&nbsp;heading)</pre>
+<div class="block">The label used to display the tab name (or section) where the properties
+ are displayed. Example: "Printer Service".</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The label used to display the tab name where the properties are
+         displayed (may be localized)</dd>
+</dl>
+</li>
+</ul>
+<a name="setDescription-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setDescription</h4>
+<pre><a href="../../../../org/apache/felix/dm/ConfigurationDependency.html" title="interface in org.apache.felix.dm">ConfigurationDependency</a>&nbsp;setDescription(java.lang.String&nbsp;description)</pre>
+<div class="block">A human readable description of the PID this configuration is associated
+ with. Example: "Configuration for the PrinterService bundle".</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A human readable description of the PID this configuration is
+         associated with (may be localized)</dd>
+</dl>
+</li>
+</ul>
+<a name="setLocalization-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setLocalization</h4>
+<pre><a href="../../../../org/apache/felix/dm/ConfigurationDependency.html" title="interface in org.apache.felix.dm">ConfigurationDependency</a>&nbsp;setLocalization(java.lang.String&nbsp;path)</pre>
+<div class="block">Points to the basename of the Properties file that can localize the Meta
+ Type informations. The default localization base name for the properties
+ is OSGI-INF/l10n/bundle, but can be overridden by the manifest
+ Bundle-Localization header (see core specification, in section
+ Localization on page 68). You can specify a specific localization
+ basename file using this method (e.g.
+ <code>setLocalization("person")</code> will match person_du_NL.properties
+ in the root bundle directory.</div>
+</li>
+</ul>
+<a name="add-org.apache.felix.dm.PropertyMetaData-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>add</h4>
+<pre><a href="../../../../org/apache/felix/dm/ConfigurationDependency.html" title="interface in org.apache.felix.dm">ConfigurationDependency</a>&nbsp;add(<a href="../../../../org/apache/felix/dm/PropertyMetaData.html" title="interface in org.apache.felix.dm">PropertyMetaData</a>&nbsp;properties)</pre>
+<div class="block">Adds a MetaData regarding a given configuration property.</div>
+</li>
+</ul>
+<a name="setRequired-boolean-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>setRequired</h4>
+<pre><a href="../../../../org/apache/felix/dm/ConfigurationDependency.html" title="interface in org.apache.felix.dm">ConfigurationDependency</a>&nbsp;setRequired(boolean&nbsp;required)</pre>
+<div class="block">Sets the required flag which determines if this configuration dependency is required or not.
+ A configuration dependency is required by default.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>required</code> - the required flag</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this service dependency</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/felix/dm/ComponentStateListener.html" title="interface in org.apache.felix.dm"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/felix/dm/Dependency.html" title="interface in org.apache.felix.dm"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/felix/dm/ConfigurationDependency.html" target="_top">Frames</a></li>
+<li><a href="ConfigurationDependency.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>

Added: websites/staging/felix/trunk/content/apidocs/dependencymanager/r9/org/apache/felix/dm/Dependency.html
==============================================================================
--- websites/staging/felix/trunk/content/apidocs/dependencymanager/r9/org/apache/felix/dm/Dependency.html (added)
+++ websites/staging/felix/trunk/content/apidocs/dependencymanager/r9/org/apache/felix/dm/Dependency.html Tue Feb 14 07:01:02 2017
@@ -0,0 +1,349 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_102) on Tue Feb 14 07:57:57 CET 2017 -->
+<title>Dependency</title>
+<meta name="date" content="2017-02-14">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Dependency";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/felix/dm/ConfigurationDependency.html" title="interface in org.apache.felix.dm"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/felix/dm/DependencyActivatorBase.html" title="class in org.apache.felix.dm"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/felix/dm/Dependency.html" target="_top">Frames</a></li>
+<li><a href="Dependency.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.felix.dm</div>
+<h2 title="Interface Dependency" class="title">Interface Dependency</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Known Subinterfaces:</dt>
+<dd><a href="../../../../org/apache/felix/dm/BundleDependency.html" title="interface in org.apache.felix.dm">BundleDependency</a>, <a href="../../../../org/apache/felix/dm/ConfigurationDependency.html" title="interface in org.apache.felix.dm">ConfigurationDependency</a>, <a href="../../../../org/apache/felix/dm/context/DependencyContext.html" title="interface in org.apache.felix.dm.context">DependencyContext</a>, <a href="../../../../org/apache/felix/dm/ResourceDependency.html" title="interface in org.apache.felix.dm">ResourceDependency</a>, <a href="../../../../org/apache/felix/dm/ServiceDependency.html" title="interface in org.apache.felix.dm">ServiceDependency</a></dd>
+</dl>
+<dl>
+<dt>All Known Implementing Classes:</dt>
+<dd><a href="../../../../org/apache/felix/dm/context/AbstractDependency.html" title="class in org.apache.felix.dm.context">AbstractDependency</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">Dependency</span></pre>
+<div class="block">Generic dependency for a component. 
+ Can be added to a single component. Can be available, or not..</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/Dependency.html#getAutoConfigName--">getAutoConfigName</a></span>()</code>
+<div class="block">Returns the name of the member in the class of the component instance
+ to inject into.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>&lt;K,V&gt;&nbsp;java.util.Dictionary&lt;K,V&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/Dependency.html#getProperties--">getProperties</a></span>()</code>
+<div class="block">Returns the properties associated with this dependency.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/Dependency.html#isAutoConfig--">isAutoConfig</a></span>()</code>
+<div class="block">Returns <code>true</code> if auto configuration is enabled for this dependency.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/Dependency.html#isAvailable--">isAvailable</a></span>()</code>
+<div class="block">Returns <code>true</code> if the dependency is available.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/Dependency.html#isPropagated--">isPropagated</a></span>()</code>
+<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>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/Dependency.html#isRequired--">isRequired</a></span>()</code>
+<div class="block">Returns <code>true</code> if this a required dependency.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="isRequired--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isRequired</h4>
+<pre>boolean&nbsp;isRequired()</pre>
+<div class="block">Returns <code>true</code> if this a required dependency. Required dependencies
+ are dependencies that must be available before the component can be activated.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd><code>true</code> if the dependency is required</dd>
+</dl>
+</li>
+</ul>
+<a name="isAvailable--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isAvailable</h4>
+<pre>boolean&nbsp;isAvailable()</pre>
+<div class="block">Returns <code>true</code> if the dependency is available.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd><code>true</code> if the dependency is available</dd>
+</dl>
+</li>
+</ul>
+<a name="isAutoConfig--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isAutoConfig</h4>
+<pre>boolean&nbsp;isAutoConfig()</pre>
+<div class="block">Returns <code>true</code> if auto configuration is enabled for this dependency.
+ Auto configuration means that a dependency is injected in the component instance
+ when it's available, and if it's unavailable, a "null object" will be inserted
+ instead.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if auto configuration is enabled for this dependency</dd>
+</dl>
+</li>
+</ul>
+<a name="getAutoConfigName--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getAutoConfigName</h4>
+<pre>java.lang.String&nbsp;getAutoConfigName()</pre>
+<div class="block">Returns the name of the member in the class of the component instance
+ to inject into. If you specify this, not all members of the right
+ type will be injected, only the member whose name matches.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the name of the member in the class of the component instance to inject into</dd>
+</dl>
+</li>
+</ul>
+<a name="isPropagated--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isPropagated</h4>
+<pre>boolean&nbsp;isPropagated()</pre>
+<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>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd><code>true</code> if the properties should be propagated</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../org/apache/felix/dm/Dependency.html#getProperties--"><code>getProperties()</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="getProperties--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getProperties</h4>
+<pre>&lt;K,V&gt;&nbsp;java.util.Dictionary&lt;K,V&gt;&nbsp;getProperties()</pre>
+<div class="block">Returns the properties associated with this dependency.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the properties</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../org/apache/felix/dm/Dependency.html#isPropagated--"><code>isPropagated()</code></a></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/felix/dm/ConfigurationDependency.html" title="interface in org.apache.felix.dm"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/felix/dm/DependencyActivatorBase.html" title="class in org.apache.felix.dm"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/felix/dm/Dependency.html" target="_top">Frames</a></li>
+<li><a href="Dependency.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>