Added: websites/staging/felix/trunk/content/apidocs/dependencymanager/4.0.0/org/apache/felix/dm/context/AbstractDependency.html ============================================================================== --- websites/staging/felix/trunk/content/apidocs/dependencymanager/4.0.0/org/apache/felix/dm/context/AbstractDependency.html (added) +++ websites/staging/felix/trunk/content/apidocs/dependencymanager/4.0.0/org/apache/felix/dm/context/AbstractDependency.html Fri Mar 6 22:25:31 2015 @@ -0,0 +1,1342 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!-- NewPage --> +<html lang="en"> +<head> +<!-- Generated by javadoc (version 1.7.0_67) on Fri Mar 06 23:13:14 CET 2015 --> +<title>AbstractDependency</title> +<meta name="date" content="2015-03-06"> +<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style"> +</head> +<body> +<script type="text/javascript"><!-- + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="AbstractDependency"; + } +//--> +</script> +<noscript> +<div>JavaScript is disabled on your browser.</div> +</noscript> +<!-- ========= START OF TOP NAVBAR ======= --> +<div class="topNav"><a name="navbar_top"> +<!-- --> +</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow"> +<!-- --> +</a> +<ul class="navList" title="Navigation"> +<li><a href="../../../../../overview-summary.html">Overview</a></li> +<li><a href="package-summary.html">Package</a></li> +<li class="navBarCell1Rev">Class</li> +<li><a href="package-tree.html">Tree</a></li> +<li><a href="../../../../../deprecated-list.html">Deprecated</a></li> +<li><a href="../../../../../index-all.html">Index</a></li> +<li><a href="../../../../../help-doc.html">Help</a></li> +</ul> +</div> +<div class="subNav"> +<ul class="navList"> +<li>Prev Class</li> +<li><a href="../../../../../org/apache/felix/dm/context/ComponentContext.html" title="interface in org.apache.felix.dm.context"><span class="strong">Next Class</span></a></li> +</ul> +<ul class="navList"> +<li><a href="../../../../../index.html?org/apache/felix/dm/context/AbstractDependency.html" target="_top">Frames</a></li> +<li><a href="AbstractDependency.html" target="_top">No Frames</a></li> +</ul> +<ul class="navList" id="allclasses_navbar_top"> +<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li> +</ul> +<div> +<script type="text/javascript"><!-- + allClassesLink = document.getElementById("allclasses_navbar_top"); + if(window==top) { + allClassesLink.style.display = "block"; + } + else { + allClassesLink.style.display = "none"; + } + //--> +</script> +</div> +<div> +<ul class="subNavList"> +<li>Summary: </li> +<li>Nested | </li> +<li><a href="#field_summary">Field</a> | </li> +<li><a href="#constructor_summary">Constr</a> | </li> +<li><a href="#method_summary">Method</a></li> +</ul> +<ul class="subNavList"> +<li>Detail: </li> +<li><a href="#field_detail">Field</a> | </li> +<li><a href="#constructor_detail">Constr</a> | </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.context</div> +<h2 title="Class AbstractDependency" class="title">Class AbstractDependency<T extends <a href="../../../../../org/apache/felix/dm/Dependency.html" title="interface in org.apache.felix.dm">Dependency</a>></h2> +</div> +<div class="contentContainer"> +<ul class="inheritance"> +<li>java.lang.Object</li> +<li> +<ul class="inheritance"> +<li>org.apache.felix.dm.context.AbstractDependency<T></li> +</ul> +</li> +</ul> +<div class="description"> +<ul class="blockList"> +<li class="blockList"> +<dl><dt><span class="strong">Type Parameters:</span></dt><dd><code>T</code> - The type of the interface representing a Dependency Manager Dependency (must extends the Dependency interface).</dd></dl> +<dl> +<dt>All Implemented Interfaces:</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/context/DependencyContext.html" title="interface in org.apache.felix.dm.context">DependencyContext</a>, <a href="../../../../../org/apache/felix/dm/Dependency.html" title="interface in org.apache.felix.dm">Dependency</a></dd> +</dl> +<hr> +<br> +<pre>public abstract class <span class="strong">AbstractDependency<T extends <a href="../../../../../org/apache/felix/dm/Dependency.html" title="interface in org.apache.felix.dm">Dependency</a>></span> +extends java.lang.Object +implements <a href="../../../../../org/apache/felix/dm/Dependency.html" title="interface in org.apache.felix.dm">Dependency</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/ComponentDependencyDeclaration.html" title="interface in org.apache.felix.dm">ComponentDependencyDeclaration</a></pre> +<div class="block">Abstract class for implementing Dependencies. + You can extends this class in order to supply your own custom dependencies to any Dependency Manager Component.</div> +</li> +</ul> +</div> +<div class="summary"> +<ul class="blockList"> +<li class="blockList"> +<!-- =========== FIELD SUMMARY =========== --> +<ul class="blockList"> +<li class="blockList"><a name="field_summary"> +<!-- --> +</a> +<h3>Field Summary</h3> +<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation"> +<caption><span>Fields</span><span class="tabEnd"> </span></caption> +<tr> +<th class="colFirst" scope="col">Modifier and Type</th> +<th class="colLast" scope="col">Field and Description</th> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>protected static java.util.Dictionary<java.lang.Object,java.lang.Object></code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html#EMPTY_PROPERTIES">EMPTY_PROPERTIES</a></strong></code> +<div class="block">Default empty dependency properties.</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>protected java.lang.String</code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html#m_add">m_add</a></strong></code> +<div class="block">Component callback used to inject an added dependency.</div> +</td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>protected boolean</code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html#m_autoConfig">m_autoConfig</a></strong></code> +<div class="block">Can this Dependency be auto configured in the component instance fields ?</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>protected java.lang.String</code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html#m_autoConfigInstance">m_autoConfigInstance</a></strong></code> +<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> +</td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>protected boolean</code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html#m_autoConfigInvoked">m_autoConfigInvoked</a></strong></code> +<div class="block">Indicates if the setAutoConfig method has been invoked.</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>protected boolean</code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html#m_available">m_available</a></strong></code> +<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> +</td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>protected java.lang.Object</code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html#m_callbackInstance">m_callbackInstance</a></strong></code> +<div class="block">The object instance on which the dependency callbacks are invoked on.</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>protected java.lang.String</code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html#m_change">m_change</a></strong></code> +<div class="block">Component callback invoked when the dependency has changed.</div> +</td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>protected <a href="../../../../../org/apache/felix/dm/context/ComponentContext.html" title="interface in org.apache.felix.dm.context">ComponentContext</a></code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html#m_component">m_component</a></strong></code> +<div class="block">The Component implementation is exposed to Dependencies through this interface.</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>protected boolean</code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html#m_instanceBound">m_instanceBound</a></strong></code> +<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> +</td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>protected boolean</code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html#m_isStarted">m_isStarted</a></strong></code> +<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> +</td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>protected boolean</code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html#m_propagate">m_propagate</a></strong></code> +<div class="block">Tells if the dependency service properties have to be propagated to the Component service properties.</div> +</td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>protected java.lang.Object</code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html#m_propagateCallbackInstance">m_propagateCallbackInstance</a></strong></code> +<div class="block">The propagate callback instance that is invoked in order to supply dynamically some dependency service properties.</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>protected java.lang.String</code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html#m_propagateCallbackMethod">m_propagateCallbackMethod</a></strong></code> +<div class="block">The propagate callback method that is invoked in order to supply dynamically some dependency service properties.</div> +</td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>protected java.lang.String</code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html#m_remove">m_remove</a></strong></code> +<div class="block">Component callback invoked when the dependency becomes unavailable.</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>protected boolean</code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html#m_required">m_required</a></strong></code> +<div class="block">Is this dependency required (false by default) ?</div> +</td> +</tr> +</table> +<ul class="blockList"> +<li class="blockList"><a name="fields_inherited_from_class_org.apache.felix.dm.ComponentDependencyDeclaration"> +<!-- --> +</a> +<h3>Fields inherited from interface 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> +<!-- ======== CONSTRUCTOR SUMMARY ======== --> +<ul class="blockList"> +<li class="blockList"><a name="constructor_summary"> +<!-- --> +</a> +<h3>Constructor Summary</h3> +<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation"> +<caption><span>Constructors</span><span class="tabEnd"> </span></caption> +<tr> +<th class="colOne" scope="col">Constructor and Description</th> +</tr> +<tr class="altColor"> +<td class="colOne"><code><strong><a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html#AbstractDependency()">AbstractDependency</a></strong>()</code> +<div class="block">Creates a new Dependency.</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colOne"><code><strong><a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html#AbstractDependency(org.apache.felix.dm.context.AbstractDependency)">AbstractDependency</a></strong>(<a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html" title="class in org.apache.felix.dm.context">AbstractDependency</a><<a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html" title="type parameter in AbstractDependency">T</a>> prototype)</code> +<div class="block">Create a clone of a given Dependency.</div> +</td> +</tr> +</table> +</li> +</ul> +<!-- ========== METHOD SUMMARY =========== --> +<ul class="blockList"> +<li class="blockList"><a name="method_summary"> +<!-- --> +</a> +<h3>Method Summary</h3> +<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation"> +<caption><span>Methods</span><span class="tabEnd"> </span></caption> +<tr> +<th class="colFirst" scope="col">Modifier and Type</th> +<th class="colLast" scope="col">Method and Description</th> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>void</code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html#copyToCollection(java.util.Collection)">copyToCollection</a></strong>(java.util.Collection<java.lang.Object> services)</code> +<div class="block">Copy all dependency service instances to the given collection.</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>void</code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html#copyToMap(java.util.Map)">copyToMap</a></strong>(java.util.Map<java.lang.Object,java.util.Dictionary<?,?>> map)</code> +<div class="block">Copy all dependency service instances to the given map (key = dependency service, value = dependency service properties.</div> +</td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>abstract <a href="../../../../../org/apache/felix/dm/context/DependencyContext.html" title="interface in org.apache.felix.dm.context">DependencyContext</a></code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html#createCopy()">createCopy</a></strong>()</code> +<div class="block">Creates a copy of this Dependency.</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>protected void</code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html#ensureNotActive()">ensureNotActive</a></strong>()</code> +<div class="block">Checks if the component dependency is not started.</div> +</td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>java.lang.String</code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html#getAutoConfigName()">getAutoConfigName</a></strong>()</code> +<div class="block">Returns the field name when the dependency can be injected to.</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>abstract java.lang.Class<?></code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html#getAutoConfigType()">getAutoConfigType</a></strong>()</code> +<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> +</td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/context/ComponentContext.html" title="interface in org.apache.felix.dm.context">ComponentContext</a></code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html#getComponentContext()">getComponentContext</a></strong>()</code> +<div class="block">Returns the component implementation context</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>protected java.lang.Object</code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html#getDefaultService(boolean)">getDefaultService</a></strong>(boolean nullObject)</code> +<div class="block">Returns the default service, or null.</div> +</td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>java.lang.String</code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html#getFilter()">getFilter</a></strong>()</code> +<div class="block">Returns the dependency filter, if any.</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>java.lang.Object[]</code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html#getInstances()">getInstances</a></strong>()</code> +<div class="block">Returns the dependency callback instances</div> +</td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>java.lang.String</code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html#getName()">getName</a></strong>()</code> +<div class="block">Returns a description of this dependency (like the dependency service class name with associated filters)</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code><K,V> java.util.Dictionary<K,V></code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html#getProperties()">getProperties</a></strong>()</code> +<div class="block">Returns the dependency service properties (empty by default).</div> +</td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/context/Event.html" title="class in org.apache.felix.dm.context">Event</a></code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html#getService()">getService</a></strong>()</code> +<div class="block">Get the highest ranked available dependency service, or null.</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>abstract java.lang.String</code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html#getSimpleName()">getSimpleName</a></strong>()</code> +<div class="block">Returns a simple name for this dependency (like the dependency service class name).</div> +</td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>int</code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html#getState()">getState</a></strong>()</code> +<div class="block">Returns this dependency state.</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>abstract java.lang.String</code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html#getType()">getType</a></strong>()</code> +<div class="block">Returns the dependency symbolic type.</div> +</td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>void</code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html#invokeCallback(org.apache.felix.dm.context.EventType,%20org.apache.felix.dm.context.Event...)">invokeCallback</a></strong>(<a href="../../../../../org/apache/felix/dm/context/EventType.html" title="enum in org.apache.felix.dm.context">EventType</a> type, + <a href="../../../../../org/apache/felix/dm/context/Event.html" title="class in org.apache.felix.dm.context">Event</a>... events)</code> +<div class="block">A Component callback must be invoked with dependency event(s).</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>boolean</code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html#isAutoConfig()">isAutoConfig</a></strong>()</code> +<div class="block">Can this dependency be injected in a component class field (by reflexion, true by default) ?</div> +</td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>boolean</code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html#isAvailable()">isAvailable</a></strong>()</code> +<div class="block">Is this Dependency satisfied and available ?</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>boolean</code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html#isInstanceBound()">isInstanceBound</a></strong>()</code> +<div class="block">Is this Dependency "instance bound" (has been defined within the component's init method) ?</div> +</td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>boolean</code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html#isPropagated()">isPropagated</a></strong>()</code> +<div class="block">Returns the propagate callback method that is invoked in order to supply dynamically some dependency service properties.</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>boolean</code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html#isRequired()">isRequired</a></strong>()</code> +<div class="block">Is this Dependency required (false by default) ?</div> +</td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>boolean</code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html#isStarted()">isStarted</a></strong>()</code> +<div class="block">Indicates if this dependency has been started by the Component implementation.</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>boolean</code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html#needsInstance()">needsInstance</a></strong>()</code> +<div class="block">Tells if the Component must be first instantiated before starting this dependency (false by default).</div> +</td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html" title="type parameter in AbstractDependency">T</a></code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html#setAutoConfig(boolean)">setAutoConfig</a></strong>(boolean autoConfig)</code> </td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html" title="type parameter in AbstractDependency">T</a></code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html#setAutoConfig(java.lang.String)">setAutoConfig</a></strong>(java.lang.String instanceName)</code> </td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>void</code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html#setAvailable(boolean)">setAvailable</a></strong>(boolean available)</code> +<div class="block">Called by the Component implementation when the dependency is considered to be available.</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html" title="type parameter in AbstractDependency">T</a></code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html#setCallbacks(java.lang.Object,%20java.lang.String,%20java.lang.String)">setCallbacks</a></strong>(java.lang.Object instance, + java.lang.String add, + java.lang.String remove)</code> +<div class="block">Sets the callbacks for this service.</div> +</td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html" title="type parameter in AbstractDependency">T</a></code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html#setCallbacks(java.lang.Object,%20java.lang.String,%20java.lang.String,%20java.lang.String)">setCallbacks</a></strong>(java.lang.Object instance, + java.lang.String add, + java.lang.String change, + java.lang.String remove)</code> +<div class="block">Sets the callbacks for this service.</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html" title="type parameter in AbstractDependency">T</a></code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html#setCallbacks(java.lang.String,%20java.lang.String)">setCallbacks</a></strong>(java.lang.String add, + java.lang.String remove)</code> +<div class="block">Sets the add/remove callbacks.</div> +</td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html" title="type parameter in AbstractDependency">T</a></code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html#setCallbacks(java.lang.String,%20java.lang.String,%20java.lang.String)">setCallbacks</a></strong>(java.lang.String add, + java.lang.String change, + java.lang.String remove)</code> +<div class="block">Sets the add/change/remove callbacks.</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>void</code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html#setComponentContext(org.apache.felix.dm.context.ComponentContext)">setComponentContext</a></strong>(<a href="../../../../../org/apache/felix/dm/context/ComponentContext.html" title="interface in org.apache.felix.dm.context">ComponentContext</a> component)</code> +<div class="block">Called by the Component implementation before the Dependency can be started.</div> +</td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>void</code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html#setInstanceBound(boolean)">setInstanceBound</a></strong>(boolean instanceBound)</code> +<div class="block">Called by the Component implementation when the dependency is declared within the Component's init method.</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html" title="type parameter in AbstractDependency">T</a></code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html#setPropagate(boolean)">setPropagate</a></strong>(boolean propagate)</code> +<div class="block">Activates Dependency service properties propagation (to the service properties of the component to which this + dependency is added).</div> +</td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html" title="type parameter in AbstractDependency">T</a></code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html#setPropagate(java.lang.Object,%20java.lang.String)">setPropagate</a></strong>(java.lang.Object instance, + java.lang.String method)</code> +<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> +</td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code><a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html" title="type parameter in AbstractDependency">T</a></code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html#setRequired(boolean)">setRequired</a></strong>(boolean required)</code> </td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>void</code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html#start()">start</a></strong>()</code> +<div class="block">Starts this dependency.</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>void</code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html#stop()">stop</a></strong>()</code> +<div class="block">Starts this dependency.</div> +</td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>java.lang.String</code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html#toString()">toString</a></strong>()</code> </td> +</tr> +</table> +<ul class="blockList"> +<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object"> +<!-- --> +</a> +<h3>Methods inherited from class java.lang.Object</h3> +<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li> +</ul> +</li> +</ul> +</li> +</ul> +</div> +<div class="details"> +<ul class="blockList"> +<li class="blockList"> +<!-- ============ FIELD DETAIL =========== --> +<ul class="blockList"> +<li class="blockList"><a name="field_detail"> +<!-- --> +</a> +<h3>Field Detail</h3> +<a name="m_component"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>m_component</h4> +<pre>protected <a href="../../../../../org/apache/felix/dm/context/ComponentContext.html" title="interface in org.apache.felix.dm.context">ComponentContext</a> m_component</pre> +<div class="block">The Component implementation is exposed to Dependencies through this interface.</div> +</li> +</ul> +<a name="m_available"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>m_available</h4> +<pre>protected volatile boolean m_available</pre> +<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> +</li> +</ul> +<a name="m_instanceBound"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>m_instanceBound</h4> +<pre>protected boolean m_instanceBound</pre> +<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> +</li> +</ul> +<a name="m_required"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>m_required</h4> +<pre>protected volatile boolean m_required</pre> +<div class="block">Is this dependency required (false by default) ?</div> +</li> +</ul> +<a name="m_add"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>m_add</h4> +<pre>protected java.lang.String m_add</pre> +<div class="block">Component callback used to inject an added dependency.</div> +</li> +</ul> +<a name="m_change"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>m_change</h4> +<pre>protected java.lang.String m_change</pre> +<div class="block">Component callback invoked when the dependency has changed.</div> +</li> +</ul> +<a name="m_remove"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>m_remove</h4> +<pre>protected java.lang.String m_remove</pre> +<div class="block">Component callback invoked when the dependency becomes unavailable.</div> +</li> +</ul> +<a name="m_autoConfig"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>m_autoConfig</h4> +<pre>protected boolean m_autoConfig</pre> +<div class="block">Can this Dependency be auto configured in the component instance fields ?</div> +</li> +</ul> +<a name="m_autoConfigInstance"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>m_autoConfigInstance</h4> +<pre>protected java.lang.String m_autoConfigInstance</pre> +<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> +</li> +</ul> +<a name="m_autoConfigInvoked"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>m_autoConfigInvoked</h4> +<pre>protected boolean m_autoConfigInvoked</pre> +<div class="block">Indicates if the setAutoConfig method has been invoked. This flag is used to force autoconfig to "false" + when the setCallbacks method is invoked, unless the setAutoConfig method has been called.</div> +</li> +</ul> +<a name="m_isStarted"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>m_isStarted</h4> +<pre>protected volatile boolean m_isStarted</pre> +<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> +</li> +</ul> +<a name="m_callbackInstance"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>m_callbackInstance</h4> +<pre>protected java.lang.Object m_callbackInstance</pre> +<div class="block">The object instance on which the dependency callbacks are invoked on. Null means the dependency will be + injected to the Component implementation instance(s).</div> +</li> +</ul> +<a name="m_propagate"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>m_propagate</h4> +<pre>protected boolean m_propagate</pre> +<div class="block">Tells if the dependency service properties have to be propagated to the Component service properties.</div> +</li> +</ul> +<a name="m_propagateCallbackInstance"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>m_propagateCallbackInstance</h4> +<pre>protected java.lang.Object m_propagateCallbackInstance</pre> +<div class="block">The propagate callback instance that is invoked in order to supply dynamically some dependency service properties.</div> +</li> +</ul> +<a name="m_propagateCallbackMethod"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>m_propagateCallbackMethod</h4> +<pre>protected volatile java.lang.String m_propagateCallbackMethod</pre> +<div class="block">The propagate callback method that is invoked in order to supply dynamically some dependency service properties.</div> +<dl><dt><span class="strong">See Also:</span></dt><dd><code>#m_propagateCallbackInstance}</code></dd></dl> +</li> +</ul> +<a name="EMPTY_PROPERTIES"> +<!-- --> +</a> +<ul class="blockListLast"> +<li class="blockList"> +<h4>EMPTY_PROPERTIES</h4> +<pre>protected static final java.util.Dictionary<java.lang.Object,java.lang.Object> EMPTY_PROPERTIES</pre> +<div class="block">Default empty dependency properties.</div> +</li> +</ul> +</li> +</ul> +<!-- ========= CONSTRUCTOR DETAIL ======== --> +<ul class="blockList"> +<li class="blockList"><a name="constructor_detail"> +<!-- --> +</a> +<h3>Constructor Detail</h3> +<a name="AbstractDependency()"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>AbstractDependency</h4> +<pre>public AbstractDependency()</pre> +<div class="block">Creates a new Dependency. By default, the dependency is optional and autoconfig.</div> +</li> +</ul> +<a name="AbstractDependency(org.apache.felix.dm.context.AbstractDependency)"> +<!-- --> +</a> +<ul class="blockListLast"> +<li class="blockList"> +<h4>AbstractDependency</h4> +<pre>public AbstractDependency(<a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html" title="class in org.apache.felix.dm.context">AbstractDependency</a><<a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html" title="type parameter in AbstractDependency">T</a>> prototype)</pre> +<div class="block">Create a clone of a given Dependency.</div> +<dl><dt><span class="strong">Parameters:</span></dt><dd><code>prototype</code> - all the fields of the prototype will be copied to this dependency.</dd></dl> +</li> +</ul> +</li> +</ul> +<!-- ============ METHOD DETAIL ========== --> +<ul class="blockList"> +<li class="blockList"><a name="method_detail"> +<!-- --> +</a> +<h3>Method Detail</h3> +<a name="toString()"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>toString</h4> +<pre>public java.lang.String toString()</pre> +<dl> +<dt><strong>Overrides:</strong></dt> +<dd><code>toString</code> in class <code>java.lang.Object</code></dd> +</dl> +</li> +</ul> +<a name="isRequired()"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>isRequired</h4> +<pre>public boolean isRequired()</pre> +<div class="block">Is this Dependency required (false by default) ?</div> +<dl> +<dt><strong>Specified by:</strong></dt> +<dd><code><a href="../../../../../org/apache/felix/dm/Dependency.html#isRequired()">isRequired</a></code> in interface <code><a href="../../../../../org/apache/felix/dm/Dependency.html" title="interface in org.apache.felix.dm">Dependency</a></code></dd> +<dt><span class="strong">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>public boolean isAvailable()</pre> +<div class="block">Is this Dependency satisfied and available ?</div> +<dl> +<dt><strong>Specified by:</strong></dt> +<dd><code><a href="../../../../../org/apache/felix/dm/Dependency.html#isAvailable()">isAvailable</a></code> in interface <code><a href="../../../../../org/apache/felix/dm/Dependency.html" title="interface in org.apache.felix.dm">Dependency</a></code></dd> +<dt><span class="strong">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>public boolean isAutoConfig()</pre> +<div class="block">Can this dependency be injected in a component class field (by reflexion, true by default) ?</div> +<dl> +<dt><strong>Specified by:</strong></dt> +<dd><code><a href="../../../../../org/apache/felix/dm/Dependency.html#isAutoConfig()">isAutoConfig</a></code> in interface <code><a href="../../../../../org/apache/felix/dm/Dependency.html" title="interface in org.apache.felix.dm">Dependency</a></code></dd> +<dt><span class="strong">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>public java.lang.String getAutoConfigName()</pre> +<div class="block">Returns the field name when the dependency can be injected to.</div> +<dl> +<dt><strong>Specified by:</strong></dt> +<dd><code><a href="../../../../../org/apache/felix/dm/Dependency.html#getAutoConfigName()">getAutoConfigName</a></code> in interface <code><a href="../../../../../org/apache/felix/dm/Dependency.html" title="interface in org.apache.felix.dm">Dependency</a></code></dd> +<dt><span class="strong">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>public boolean isPropagated()</pre> +<div class="block">Returns the propagate callback method that is invoked in order to supply dynamically some dependency service properties.</div> +<dl> +<dt><strong>Specified by:</strong></dt> +<dd><code><a href="../../../../../org/apache/felix/dm/Dependency.html#isPropagated()">isPropagated</a></code> in interface <code><a href="../../../../../org/apache/felix/dm/Dependency.html" title="interface in org.apache.felix.dm">Dependency</a></code></dd> +<dt><span class="strong">Returns:</span></dt><dd><code>true</code> if the properties should be propagated</dd><dt><span class="strong">See Also:</span></dt><dd><code>#m_propagateCallbackInstance}</code></dd></dl> +</li> +</ul> +<a name="getProperties()"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>getProperties</h4> +<pre>public <K,V> java.util.Dictionary<K,V> getProperties()</pre> +<div class="block">Returns the dependency service properties (empty by default).</div> +<dl> +<dt><strong>Specified by:</strong></dt> +<dd><code><a href="../../../../../org/apache/felix/dm/Dependency.html#getProperties()">getProperties</a></code> in interface <code><a href="../../../../../org/apache/felix/dm/Dependency.html" title="interface in org.apache.felix.dm">Dependency</a></code></dd> +<dt><span class="strong">Returns:</span></dt><dd>the properties</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/felix/dm/Dependency.html#isPropagated()"><code>Dependency.isPropagated()</code></a></dd></dl> +</li> +</ul> +<a name="setComponentContext(org.apache.felix.dm.context.ComponentContext)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>setComponentContext</h4> +<pre>public void setComponentContext(<a href="../../../../../org/apache/felix/dm/context/ComponentContext.html" title="interface in org.apache.felix.dm.context">ComponentContext</a> component)</pre> +<div class="block">Called by the Component implementation before the Dependency can be started.</div> +<dl> +<dt><strong>Specified by:</strong></dt> +<dd><code><a href="../../../../../org/apache/felix/dm/context/DependencyContext.html#setComponentContext(org.apache.felix.dm.context.ComponentContext)">setComponentContext</a></code> in interface <code><a href="../../../../../org/apache/felix/dm/context/DependencyContext.html" title="interface in org.apache.felix.dm.context">DependencyContext</a></code></dd> +<dt><span class="strong">Parameters:</span></dt><dd><code>component</code> - the Component implementation context</dd></dl> +</li> +</ul> +<a name="invokeCallback(org.apache.felix.dm.context.EventType, org.apache.felix.dm.context.Event...)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>invokeCallback</h4> +<pre>public void invokeCallback(<a href="../../../../../org/apache/felix/dm/context/EventType.html" title="enum in org.apache.felix.dm.context">EventType</a> type, + <a href="../../../../../org/apache/felix/dm/context/Event.html" title="class in org.apache.felix.dm.context">Event</a>... events)</pre> +<div class="block">A Component callback must be invoked with dependency event(s).</div> +<dl> +<dt><strong>Specified by:</strong></dt> +<dd><code><a href="../../../../../org/apache/felix/dm/context/DependencyContext.html#invokeCallback(org.apache.felix.dm.context.EventType,%20org.apache.felix.dm.context.Event...)">invokeCallback</a></code> in interface <code><a href="../../../../../org/apache/felix/dm/context/DependencyContext.html" title="interface in org.apache.felix.dm.context">DependencyContext</a></code></dd> +<dt><span class="strong">Parameters:</span></dt><dd><code>type</code> - the dependency event type</dd><dd><code>events</code> - the dependency service event to inject in the component. + The number of events depends on the dependency event type: ADDED/CHANGED/REMOVED types only has one event parameter, + but the SWAPPED type has two event parameters: the first one is the old event which must be replaced by the second one.</dd><dt><span class="strong">See Also:</span></dt><dd><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...)"><code>ComponentContext.handleEvent(DependencyContext, EventType, Event...)</code></a>, +<a href="../../../../../org/apache/felix/dm/context/EventType.html" title="enum in org.apache.felix.dm.context"><code>EventType</code></a></dd></dl> +</li> +</ul> +<a name="start()"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>start</h4> +<pre>public void start()</pre> +<div class="block">Starts this dependency. Subclasses can override this method but must then call super.start().</div> +<dl> +<dt><strong>Specified by:</strong></dt> +<dd><code><a href="../../../../../org/apache/felix/dm/context/DependencyContext.html#start()">start</a></code> in interface <code><a href="../../../../../org/apache/felix/dm/context/DependencyContext.html" title="interface in org.apache.felix.dm.context">DependencyContext</a></code></dd> +</dl> +</li> +</ul> +<a name="stop()"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>stop</h4> +<pre>public void stop()</pre> +<div class="block">Starts this dependency. Subclasses can override this method but must then call super.stop().</div> +<dl> +<dt><strong>Specified by:</strong></dt> +<dd><code><a href="../../../../../org/apache/felix/dm/context/DependencyContext.html#stop()">stop</a></code> in interface <code><a href="../../../../../org/apache/felix/dm/context/DependencyContext.html" title="interface in org.apache.felix.dm.context">DependencyContext</a></code></dd> +</dl> +</li> +</ul> +<a name="isStarted()"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>isStarted</h4> +<pre>public boolean isStarted()</pre> +<div class="block">Indicates if this dependency has been started by the Component implementation.</div> +<dl> +<dt><strong>Specified by:</strong></dt> +<dd><code><a href="../../../../../org/apache/felix/dm/context/DependencyContext.html#isStarted()">isStarted</a></code> in interface <code><a href="../../../../../org/apache/felix/dm/context/DependencyContext.html" title="interface in org.apache.felix.dm.context">DependencyContext</a></code></dd> +<dt><span class="strong">Returns:</span></dt><dd>true if the dependency has been started, false if not</dd></dl> +</li> +</ul> +<a name="setAvailable(boolean)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>setAvailable</h4> +<pre>public void setAvailable(boolean available)</pre> +<div class="block">Called by the Component implementation when the dependency is considered to be available.</div> +<dl> +<dt><strong>Specified by:</strong></dt> +<dd><code><a href="../../../../../org/apache/felix/dm/context/DependencyContext.html#setAvailable(boolean)">setAvailable</a></code> in interface <code><a href="../../../../../org/apache/felix/dm/context/DependencyContext.html" title="interface in org.apache.felix.dm.context">DependencyContext</a></code></dd> +<dt><span class="strong">Parameters:</span></dt><dd><code>available</code> - true to mark this dependency as available, false to mark it as unavailable</dd></dl> +</li> +</ul> +<a name="isInstanceBound()"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>isInstanceBound</h4> +<pre>public boolean isInstanceBound()</pre> +<div class="block">Is this Dependency "instance bound" (has been defined within the component's init method) ?</div> +<dl> +<dt><strong>Specified by:</strong></dt> +<dd><code><a href="../../../../../org/apache/felix/dm/context/DependencyContext.html#isInstanceBound()">isInstanceBound</a></code> in interface <code><a href="../../../../../org/apache/felix/dm/context/DependencyContext.html" title="interface in org.apache.felix.dm.context">DependencyContext</a></code></dd> +<dt><span class="strong">Returns:</span></dt><dd>true if this dependency is instance bound, false if not</dd></dl> +</li> +</ul> +<a name="setInstanceBound(boolean)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>setInstanceBound</h4> +<pre>public void setInstanceBound(boolean instanceBound)</pre> +<div class="block">Called by the Component implementation when the dependency is declared within the Component's init method.</div> +<dl> +<dt><strong>Specified by:</strong></dt> +<dd><code><a href="../../../../../org/apache/felix/dm/context/DependencyContext.html#setInstanceBound(boolean)">setInstanceBound</a></code> in interface <code><a href="../../../../../org/apache/felix/dm/context/DependencyContext.html" title="interface in org.apache.felix.dm.context">DependencyContext</a></code></dd> +</dl> +</li> +</ul> +<a name="needsInstance()"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>needsInstance</h4> +<pre>public boolean needsInstance()</pre> +<div class="block">Tells if the Component must be first instantiated before starting this dependency (false by default).</div> +<dl> +<dt><strong>Specified by:</strong></dt> +<dd><code><a href="../../../../../org/apache/felix/dm/context/DependencyContext.html#needsInstance()">needsInstance</a></code> in interface <code><a href="../../../../../org/apache/felix/dm/context/DependencyContext.html" title="interface in org.apache.felix.dm.context">DependencyContext</a></code></dd> +<dt><span class="strong">Returns:</span></dt><dd>true if the dependency need the component instances before it can be started, false if not.</dd></dl> +</li> +</ul> +<a name="getAutoConfigType()"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>getAutoConfigType</h4> +<pre>public abstract java.lang.Class<?> getAutoConfigType()</pre> +<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> +<dl> +<dt><strong>Specified by:</strong></dt> +<dd><code><a href="../../../../../org/apache/felix/dm/context/DependencyContext.html#getAutoConfigType()">getAutoConfigType</a></code> in interface <code><a href="../../../../../org/apache/felix/dm/context/DependencyContext.html" title="interface in org.apache.felix.dm.context">DependencyContext</a></code></dd> +<dt><span class="strong">Returns:</span></dt><dd>the type of the field which can be injected with the dependency service, or null if the dependency does not + support auto config mode.</dd></dl> +</li> +</ul> +<a name="getService()"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>getService</h4> +<pre>public <a href="../../../../../org/apache/felix/dm/context/Event.html" title="class in org.apache.felix.dm.context">Event</a> getService()</pre> +<div class="block">Get the highest ranked available dependency service, or null.</div> +<dl> +<dt><strong>Specified by:</strong></dt> +<dd><code><a href="../../../../../org/apache/felix/dm/context/DependencyContext.html#getService()">getService</a></code> in interface <code><a href="../../../../../org/apache/felix/dm/context/DependencyContext.html" title="interface in org.apache.felix.dm.context">DependencyContext</a></code></dd> +<dt><span class="strong">Returns:</span></dt><dd>the highest ranked available dependency service instance, or null</dd></dl> +</li> +</ul> +<a name="copyToCollection(java.util.Collection)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>copyToCollection</h4> +<pre>public void copyToCollection(java.util.Collection<java.lang.Object> services)</pre> +<div class="block">Copy all dependency service instances to the given collection.</div> +<dl> +<dt><strong>Specified by:</strong></dt> +<dd><code><a href="../../../../../org/apache/felix/dm/context/DependencyContext.html#copyToCollection(java.util.Collection)">copyToCollection</a></code> in interface <code><a href="../../../../../org/apache/felix/dm/context/DependencyContext.html" title="interface in org.apache.felix.dm.context">DependencyContext</a></code></dd> +<dt><span class="strong">Parameters:</span></dt><dd><code>services</code> - the collection where the dependency service instances will be copied</dd></dl> +</li> +</ul> +<a name="copyToMap(java.util.Map)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>copyToMap</h4> +<pre>public void copyToMap(java.util.Map<java.lang.Object,java.util.Dictionary<?,?>> map)</pre> +<div class="block">Copy all dependency service instances to the given map (key = dependency service, value = dependency service properties.</div> +<dl> +<dt><strong>Specified by:</strong></dt> +<dd><code><a href="../../../../../org/apache/felix/dm/context/DependencyContext.html#copyToMap(java.util.Map)">copyToMap</a></code> in interface <code><a href="../../../../../org/apache/felix/dm/context/DependencyContext.html" title="interface in org.apache.felix.dm.context">DependencyContext</a></code></dd> +<dt><span class="strong">Parameters:</span></dt><dd><code>map</code> - the map where the dependency service instances (with the corresponding service properties)</dd></dl> +</li> +</ul> +<a name="createCopy()"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>createCopy</h4> +<pre>public abstract <a href="../../../../../org/apache/felix/dm/context/DependencyContext.html" title="interface in org.apache.felix.dm.context">DependencyContext</a> createCopy()</pre> +<div class="block">Creates a copy of this Dependency.</div> +<dl> +<dt><strong>Specified by:</strong></dt> +<dd><code><a href="../../../../../org/apache/felix/dm/context/DependencyContext.html#createCopy()">createCopy</a></code> in interface <code><a href="../../../../../org/apache/felix/dm/context/DependencyContext.html" title="interface in org.apache.felix.dm.context">DependencyContext</a></code></dd> +<dt><span class="strong">Returns:</span></dt><dd>a clone of this dependency.</dd></dl> +</li> +</ul> +<a name="getName()"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>getName</h4> +<pre>public java.lang.String getName()</pre> +<div class="block">Returns a description of this dependency (like the dependency service class name with associated filters)</div> +<dl> +<dt><strong>Specified by:</strong></dt> +<dd><code><a href="../../../../../org/apache/felix/dm/ComponentDependencyDeclaration.html#getName()">getName</a></code> in interface <code><a href="../../../../../org/apache/felix/dm/ComponentDependencyDeclaration.html" title="interface in org.apache.felix.dm">ComponentDependencyDeclaration</a></code></dd> +</dl> +</li> +</ul> +<a name="getSimpleName()"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>getSimpleName</h4> +<pre>public abstract java.lang.String getSimpleName()</pre> +<div class="block">Returns a simple name for this dependency (like the dependency service class name).</div> +<dl> +<dt><strong>Specified by:</strong></dt> +<dd><code><a href="../../../../../org/apache/felix/dm/ComponentDependencyDeclaration.html#getSimpleName()">getSimpleName</a></code> in interface <code><a href="../../../../../org/apache/felix/dm/ComponentDependencyDeclaration.html" title="interface in org.apache.felix.dm">ComponentDependencyDeclaration</a></code></dd> +</dl> +</li> +</ul> +<a name="getType()"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>getType</h4> +<pre>public abstract java.lang.String getType()</pre> +<div class="block">Returns the dependency symbolic type.</div> +<dl> +<dt><strong>Specified by:</strong></dt> +<dd><code><a href="../../../../../org/apache/felix/dm/ComponentDependencyDeclaration.html#getType()">getType</a></code> in interface <code><a href="../../../../../org/apache/felix/dm/ComponentDependencyDeclaration.html" title="interface in org.apache.felix.dm">ComponentDependencyDeclaration</a></code></dd> +</dl> +</li> +</ul> +<a name="getFilter()"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>getFilter</h4> +<pre>public java.lang.String getFilter()</pre> +<div class="block">Returns the dependency filter, if any.</div> +<dl> +<dt><strong>Specified by:</strong></dt> +<dd><code><a href="../../../../../org/apache/felix/dm/ComponentDependencyDeclaration.html#getFilter()">getFilter</a></code> in interface <code><a href="../../../../../org/apache/felix/dm/ComponentDependencyDeclaration.html" title="interface in org.apache.felix.dm">ComponentDependencyDeclaration</a></code></dd> +</dl> +</li> +</ul> +<a name="getState()"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>getState</h4> +<pre>public int getState()</pre> +<div class="block">Returns this dependency state.</div> +<dl> +<dt><strong>Specified by:</strong></dt> +<dd><code><a href="../../../../../org/apache/felix/dm/ComponentDependencyDeclaration.html#getState()">getState</a></code> in interface <code><a href="../../../../../org/apache/felix/dm/ComponentDependencyDeclaration.html" title="interface in org.apache.felix.dm">ComponentDependencyDeclaration</a></code></dd> +</dl> +</li> +</ul> +<a name="setPropagate(boolean)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>setPropagate</h4> +<pre>public <a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html" title="type parameter in AbstractDependency">T</a> setPropagate(boolean propagate)</pre> +<div class="block">Activates Dependency service properties propagation (to the service properties of the component to which this + dependency is added).</div> +<dl><dt><span class="strong">Parameters:</span></dt><dd><code>propagate</code> - true if the dependency service properties must be propagated to the service properties of + the component to which this dependency is added.</dd> +<dt><span class="strong">Returns:</span></dt><dd>this dependency instance</dd></dl> +</li> +</ul> +<a name="setPropagate(java.lang.Object, java.lang.String)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>setPropagate</h4> +<pre>public <a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html" title="type parameter in AbstractDependency">T</a> setPropagate(java.lang.Object instance, + java.lang.String method)</pre> +<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> +<dl><dt><span class="strong">Parameters:</span></dt><dd><code>instance</code> - the callback instance</dd><dd><code>method</code> - the method to invoke on the callback instance</dd> +<dt><span class="strong">Returns:</span></dt><dd>this dependency instance</dd></dl> +</li> +</ul> +<a name="setCallbacks(java.lang.String, java.lang.String)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>setCallbacks</h4> +<pre>public <a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html" title="type parameter in AbstractDependency">T</a> setCallbacks(java.lang.String add, + java.lang.String remove)</pre> +<div class="block">Sets the add/remove callbacks.</div> +<dl><dt><span class="strong">Parameters:</span></dt><dd><code>add</code> - the callback to invoke when a dependency is added</dd><dd><code>remove</code> - the callback to invoke when a dependency is removed</dd> +<dt><span class="strong">Returns:</span></dt><dd>this dependency instance</dd></dl> +</li> +</ul> +<a name="setCallbacks(java.lang.String, java.lang.String, java.lang.String)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>setCallbacks</h4> +<pre>public <a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html" title="type parameter in AbstractDependency">T</a> setCallbacks(java.lang.String add, + java.lang.String change, + java.lang.String remove)</pre> +<div class="block">Sets the add/change/remove callbacks.</div> +<dl><dt><span class="strong">Parameters:</span></dt><dd><code>add</code> - the callback to invoke when a dependency is added</dd><dd><code>change</code> - the callback to invoke when a dependency has changed</dd><dd><code>remove</code> - the callback to invoke when a dependency is removed</dd> +<dt><span class="strong">Returns:</span></dt><dd>this dependency instance</dd></dl> +</li> +</ul> +<a name="setCallbacks(java.lang.Object, java.lang.String, java.lang.String)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>setCallbacks</h4> +<pre>public <a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html" title="type parameter in AbstractDependency">T</a> setCallbacks(java.lang.Object instance, + java.lang.String add, + java.lang.String remove)</pre> +<div class="block">Sets the callbacks for this service. These callbacks can be used as hooks whenever a + dependency is added or removed. They are called on the instance you provide. When you + specify callbacks, the auto configuration feature is automatically turned off, because + we're assuming you don't need it in this case.</div> +<dl><dt><span class="strong">Parameters:</span></dt><dd><code>instance</code> - the instance to call the callbacks on</dd><dd><code>add</code> - the method to call when a service was added</dd><dd><code>remove</code> - the method to call when a service was removed</dd> +<dt><span class="strong">Returns:</span></dt><dd>this service dependency</dd></dl> +</li> +</ul> +<a name="setCallbacks(java.lang.Object, java.lang.String, java.lang.String, java.lang.String)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>setCallbacks</h4> +<pre>public <a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html" title="type parameter in AbstractDependency">T</a> setCallbacks(java.lang.Object instance, + java.lang.String add, + java.lang.String change, + java.lang.String remove)</pre> +<div class="block">Sets the callbacks for this service. These callbacks can be used as hooks whenever a + dependency is added, changed or removed. They are called on the instance you provide. When you + specify callbacks, the auto configuration feature is automatically turned off, because + we're assuming you don't need it in this case.</div> +<dl><dt><span class="strong">Parameters:</span></dt><dd><code>instance</code> - the instance to call the callbacks on</dd><dd><code>add</code> - the method to call when a service was added</dd><dd><code>change</code> - the method to call when a service was changed</dd><dd><code>remove</code> - the method to call when a service was removed</dd> +<dt><span class="strong">Returns:</span></dt><dd>this service dependency</dd></dl> +</li> +</ul> +<a name="getInstances()"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>getInstances</h4> +<pre>public java.lang.Object[] getInstances()</pre> +<div class="block">Returns the dependency callback instances</div> +<dl><dt><span class="strong">Returns:</span></dt><dd>the dependency callback instances</dd></dl> +</li> +</ul> +<a name="setRequired(boolean)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>setRequired</h4> +<pre>public <a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html" title="type parameter in AbstractDependency">T</a> setRequired(boolean required)</pre> +<dl><dt><span class="strong">See Also:</span></dt><dd><code>ServiceDependency#setRequired(boolean)}</code></dd></dl> +</li> +</ul> +<a name="setAutoConfig(boolean)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>setAutoConfig</h4> +<pre>public <a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html" title="type parameter in AbstractDependency">T</a> setAutoConfig(boolean autoConfig)</pre> +<dl><dt><span class="strong">See Also:</span></dt><dd><code>ServiceDependency#setAutoConfig(boolean)}</code></dd></dl> +</li> +</ul> +<a name="setAutoConfig(java.lang.String)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>setAutoConfig</h4> +<pre>public <a href="../../../../../org/apache/felix/dm/context/AbstractDependency.html" title="type parameter in AbstractDependency">T</a> setAutoConfig(java.lang.String instanceName)</pre> +<dl><dt><span class="strong">See Also:</span></dt><dd><code>ServiceDependency#setAutoConfig(String instanceName)}</code></dd></dl> +</li> +</ul> +<a name="getComponentContext()"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>getComponentContext</h4> +<pre>public <a href="../../../../../org/apache/felix/dm/context/ComponentContext.html" title="interface in org.apache.felix.dm.context">ComponentContext</a> getComponentContext()</pre> +<div class="block">Returns the component implementation context</div> +<dl> +<dt><strong>Specified by:</strong></dt> +<dd><code><a href="../../../../../org/apache/felix/dm/context/DependencyContext.html#getComponentContext()">getComponentContext</a></code> in interface <code><a href="../../../../../org/apache/felix/dm/context/DependencyContext.html" title="interface in org.apache.felix.dm.context">DependencyContext</a></code></dd> +<dt><span class="strong">Returns:</span></dt><dd>the component implementation context</dd></dl> +</li> +</ul> +<a name="getDefaultService(boolean)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>getDefaultService</h4> +<pre>protected java.lang.Object getDefaultService(boolean nullObject)</pre> +<div class="block">Returns the default service, or null.</div> +<dl><dt><span class="strong">Parameters:</span></dt><dd><code>nullObject</code> - if true, a null object may be returned.</dd> +<dt><span class="strong">Returns:</span></dt><dd>the default service</dd></dl> +</li> +</ul> +<a name="ensureNotActive()"> +<!-- --> +</a> +<ul class="blockListLast"> +<li class="blockList"> +<h4>ensureNotActive</h4> +<pre>protected void ensureNotActive()</pre> +<div class="block">Checks if the component dependency is not started.</div> +</li> +</ul> +</li> +</ul> +</li> +</ul> +</div> +</div> +<!-- ========= END OF CLASS DATA ========= --> +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<div class="bottomNav"><a name="navbar_bottom"> +<!-- --> +</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow"> +<!-- --> +</a> +<ul class="navList" title="Navigation"> +<li><a href="../../../../../overview-summary.html">Overview</a></li> +<li><a href="package-summary.html">Package</a></li> +<li class="navBarCell1Rev">Class</li> +<li><a href="package-tree.html">Tree</a></li> +<li><a href="../../../../../deprecated-list.html">Deprecated</a></li> +<li><a href="../../../../../index-all.html">Index</a></li> +<li><a href="../../../../../help-doc.html">Help</a></li> +</ul> +</div> +<div class="subNav"> +<ul class="navList"> +<li>Prev Class</li> +<li><a href="../../../../../org/apache/felix/dm/context/ComponentContext.html" title="interface in org.apache.felix.dm.context"><span class="strong">Next Class</span></a></li> +</ul> +<ul class="navList"> +<li><a href="../../../../../index.html?org/apache/felix/dm/context/AbstractDependency.html" target="_top">Frames</a></li> +<li><a href="AbstractDependency.html" target="_top">No Frames</a></li> +</ul> +<ul class="navList" id="allclasses_navbar_bottom"> +<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li> +</ul> +<div> +<script type="text/javascript"><!-- + allClassesLink = document.getElementById("allclasses_navbar_bottom"); + if(window==top) { + allClassesLink.style.display = "block"; + } + else { + allClassesLink.style.display = "none"; + } + //--> +</script> +</div> +<div> +<ul class="subNavList"> +<li>Summary: </li> +<li>Nested | </li> +<li><a href="#field_summary">Field</a> | </li> +<li><a href="#constructor_summary">Constr</a> | </li> +<li><a href="#method_summary">Method</a></li> +</ul> +<ul class="subNavList"> +<li>Detail: </li> +<li><a href="#field_detail">Field</a> | </li> +<li><a href="#constructor_detail">Constr</a> | </li> +<li><a href="#method_detail">Method</a></li> +</ul> +</div> +<a name="skip-navbar_bottom"> +<!-- --> +</a></div> +<!-- ======== END OF BOTTOM NAVBAR ======= --> +</body> +</html>