Added: felix/site/trunk/content/apidocs/dependencymanager/r13/org/apache/felix/dm/ComponentDeclaration.html URL: http://svn.apache.org/viewvc/felix/site/trunk/content/apidocs/dependencymanager/r13/org/apache/felix/dm/ComponentDeclaration.html?rev=1844571&view=auto ============================================================================== --- felix/site/trunk/content/apidocs/dependencymanager/r13/org/apache/felix/dm/ComponentDeclaration.html (added) +++ felix/site/trunk/content/apidocs/dependencymanager/r13/org/apache/felix/dm/ComponentDeclaration.html Mon Oct 22 16:45:26 2018 @@ -0,0 +1,449 @@ +<!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_172) on Mon Oct 22 18:34:41 CEST 2018 --> +<title>ComponentDeclaration</title> +<meta name="date" content="2018-10-22"> +<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="ComponentDeclaration"; + } + } + catch(err) { + } +//--> +var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":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/Component.ServiceScope.html" title="enum in org.apache.felix.dm"><span class="typeNameLink">Prev Class</span></a></li> +<li><a href="../../../../org/apache/felix/dm/ComponentDependencyDeclaration.html" title="interface in org.apache.felix.dm"><span class="typeNameLink">Next Class</span></a></li> +</ul> +<ul class="navList"> +<li><a href="../../../../index.html?org/apache/felix/dm/ComponentDeclaration.html" target="_top">Frames</a></li> +<li><a href="ComponentDeclaration.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>Constr | </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>Constr | </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 ComponentDeclaration" class="title">Interface ComponentDeclaration</h2> +</div> +<div class="contentContainer"> +<div class="description"> +<ul class="blockList"> +<li class="blockList"> +<hr> +<br> +<pre>public interface <span class="typeNameLabel">ComponentDeclaration</span></pre> +<div class="block">Describes a component. Component declarations form descriptions of components + that are managed by the dependency manager. They can be used to query their state + for monitoring tools. The dependency manager shell command is an example of + such a tool.</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="memberSummary" 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>static java.lang.String[]</code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/ComponentDeclaration.html#STATE_NAMES">STATE_NAMES</a></span></code> +<div class="block">Names for the states of this component.</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>static int</code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/ComponentDeclaration.html#STATE_REGISTERED">STATE_REGISTERED</a></span></code> +<div class="block">State constant for a registered component.</div> +</td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>static int</code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/ComponentDeclaration.html#STATE_UNREGISTERED">STATE_UNREGISTERED</a></span></code> +<div class="block">State constant for an unregistered component.</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="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"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd"> </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>BundleContext</code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/ComponentDeclaration.html#getBundleContext--">getBundleContext</a></span>()</code> +<div class="block">Returns the bundle context associated with this component.</div> +</td> +</tr> +<tr id="i1" class="rowColor"> +<td class="colFirst"><code>java.util.Map<java.lang.String,java.lang.Long></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/ComponentDeclaration.html#getCallbacksTime--">getCallbacksTime</a></span>()</code> +<div class="block">Returns the execution time in nanos for each component callbacks (init/start/stop/destroy)</div> +</td> +</tr> +<tr id="i2" class="altColor"> +<td class="colFirst"><code>java.lang.String</code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/ComponentDeclaration.html#getClassName--">getClassName</a></span>()</code> +<div class="block">Returns the class name of the Component implementation.</div> +</td> +</tr> +<tr id="i3" class="rowColor"> +<td class="colFirst"><code><a href="../../../../org/apache/felix/dm/ComponentDependencyDeclaration.html" title="interface in org.apache.felix.dm">ComponentDependencyDeclaration</a>[]</code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/ComponentDeclaration.html#getComponentDependencies--">getComponentDependencies</a></span>()</code> +<div class="block">Returns a list of dependencies associated with this component.</div> +</td> +</tr> +<tr id="i4" class="altColor"> +<td class="colFirst"><code><a href="../../../../org/apache/felix/dm/DependencyManager.html" title="class in org.apache.felix.dm">DependencyManager</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/ComponentDeclaration.html#getDependencyManager--">getDependencyManager</a></span>()</code> +<div class="block">Returns the dependency manager for this component</div> +</td> +</tr> +<tr id="i5" class="rowColor"> +<td class="colFirst"><code>long</code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/ComponentDeclaration.html#getId--">getId</a></span>()</code> +<div class="block">Returns the instance id of this component.</div> +</td> +</tr> +<tr id="i6" class="altColor"> +<td class="colFirst"><code>java.lang.String</code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/ComponentDeclaration.html#getName--">getName</a></span>()</code> +<div class="block">Returns the description of this component (the classname or the provided service(s))</div> +</td> +</tr> +<tr id="i7" class="rowColor"> +<td class="colFirst"><code><K,V> java.util.Dictionary<K,V></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/ComponentDeclaration.html#getServiceProperties--">getServiceProperties</a></span>()</code> +<div class="block">Returns the service properties, or null</div> +</td> +</tr> +<tr id="i8" class="altColor"> +<td class="colFirst"><code>java.lang.String[]</code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/ComponentDeclaration.html#getServices--">getServices</a></span>()</code> +<div class="block">Returns the service optionally provided by this component, or null</div> +</td> +</tr> +<tr id="i9" class="rowColor"> +<td class="colFirst"><code>int</code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/ComponentDeclaration.html#getState--">getState</a></span>()</code> +<div class="block">Returns the state of this component.</div> +</td> +</tr> +</table> +</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="STATE_NAMES"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>STATE_NAMES</h4> +<pre>static final java.lang.String[] STATE_NAMES</pre> +<div class="block">Names for the states of this component.</div> +</li> +</ul> +<a name="STATE_UNREGISTERED"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>STATE_UNREGISTERED</h4> +<pre>static final int STATE_UNREGISTERED</pre> +<div class="block">State constant for an unregistered component.</div> +<dl> +<dt><span class="seeLabel">See Also:</span></dt> +<dd><a href="../../../../constant-values.html#org.apache.felix.dm.ComponentDeclaration.STATE_UNREGISTERED">Constant Field Values</a></dd> +</dl> +</li> +</ul> +<a name="STATE_REGISTERED"> +<!-- --> +</a> +<ul class="blockListLast"> +<li class="blockList"> +<h4>STATE_REGISTERED</h4> +<pre>static final int STATE_REGISTERED</pre> +<div class="block">State constant for a registered component.</div> +<dl> +<dt><span class="seeLabel">See Also:</span></dt> +<dd><a href="../../../../constant-values.html#org.apache.felix.dm.ComponentDeclaration.STATE_REGISTERED">Constant Field Values</a></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="getComponentDependencies--"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>getComponentDependencies</h4> +<pre><a href="../../../../org/apache/felix/dm/ComponentDependencyDeclaration.html" title="interface in org.apache.felix.dm">ComponentDependencyDeclaration</a>[] getComponentDependencies()</pre> +<div class="block">Returns a list of dependencies associated with this component.</div> +</li> +</ul> +<a name="getName--"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>getName</h4> +<pre>java.lang.String getName()</pre> +<div class="block">Returns the description of this component (the classname or the provided service(s))</div> +</li> +</ul> +<a name="getClassName--"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>getClassName</h4> +<pre>java.lang.String getClassName()</pre> +<div class="block">Returns the class name of the Component implementation.</div> +</li> +</ul> +<a name="getServices--"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>getServices</h4> +<pre>java.lang.String[] getServices()</pre> +<div class="block">Returns the service optionally provided by this component, or null</div> +</li> +</ul> +<a name="getServiceProperties--"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>getServiceProperties</h4> +<pre><K,V> java.util.Dictionary<K,V> getServiceProperties()</pre> +<div class="block">Returns the service properties, or null</div> +</li> +</ul> +<a name="getState--"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>getState</h4> +<pre>int getState()</pre> +<div class="block">Returns the state of this component.</div> +</li> +</ul> +<a name="getId--"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>getId</h4> +<pre>long getId()</pre> +<div class="block">Returns the instance id of this component.</div> +</li> +</ul> +<a name="getBundleContext--"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>getBundleContext</h4> +<pre>BundleContext getBundleContext()</pre> +<div class="block">Returns the bundle context associated with this component.</div> +</li> +</ul> +<a name="getDependencyManager--"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>getDependencyManager</h4> +<pre><a href="../../../../org/apache/felix/dm/DependencyManager.html" title="class in org.apache.felix.dm">DependencyManager</a> getDependencyManager()</pre> +<div class="block">Returns the dependency manager for this component</div> +</li> +</ul> +<a name="getCallbacksTime--"> +<!-- --> +</a> +<ul class="blockListLast"> +<li class="blockList"> +<h4>getCallbacksTime</h4> +<pre>java.util.Map<java.lang.String,java.lang.Long> getCallbacksTime()</pre> +<div class="block">Returns the execution time in nanos for each component callbacks (init/start/stop/destroy)</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> +<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/Component.ServiceScope.html" title="enum in org.apache.felix.dm"><span class="typeNameLink">Prev Class</span></a></li> +<li><a href="../../../../org/apache/felix/dm/ComponentDependencyDeclaration.html" title="interface in org.apache.felix.dm"><span class="typeNameLink">Next Class</span></a></li> +</ul> +<ul class="navList"> +<li><a href="../../../../index.html?org/apache/felix/dm/ComponentDeclaration.html" target="_top">Frames</a></li> +<li><a href="ComponentDeclaration.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>Constr | </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>Constr | </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: felix/site/trunk/content/apidocs/dependencymanager/r13/org/apache/felix/dm/ComponentDependencyDeclaration.html URL: http://svn.apache.org/viewvc/felix/site/trunk/content/apidocs/dependencymanager/r13/org/apache/felix/dm/ComponentDependencyDeclaration.html?rev=1844571&view=auto ============================================================================== --- felix/site/trunk/content/apidocs/dependencymanager/r13/org/apache/felix/dm/ComponentDependencyDeclaration.html (added) +++ felix/site/trunk/content/apidocs/dependencymanager/r13/org/apache/felix/dm/ComponentDependencyDeclaration.html Mon Oct 22 16:45:26 2018 @@ -0,0 +1,457 @@ +<!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_172) on Mon Oct 22 18:34:41 CEST 2018 --> +<title>ComponentDependencyDeclaration</title> +<meta name="date" content="2018-10-22"> +<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="ComponentDependencyDeclaration"; + } + } + catch(err) { + } +//--> +var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":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/ComponentDeclaration.html" title="interface in org.apache.felix.dm"><span class="typeNameLink">Prev Class</span></a></li> +<li><a href="../../../../org/apache/felix/dm/ComponentExecutorFactory.html" title="interface in org.apache.felix.dm"><span class="typeNameLink">Next Class</span></a></li> +</ul> +<ul class="navList"> +<li><a href="../../../../index.html?org/apache/felix/dm/ComponentDependencyDeclaration.html" target="_top">Frames</a></li> +<li><a href="ComponentDependencyDeclaration.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>Constr | </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>Constr | </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 ComponentDependencyDeclaration" class="title">Interface ComponentDependencyDeclaration</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/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">ComponentDependencyDeclaration</span></pre> +<div class="block">Describes a component dependency. They form descriptions of dependencies + that are managed by the dependency manager. They can be used to query their state + for monitoring tools. The dependency manager shell command is an example of + such a tool.</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="memberSummary" 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>static int</code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/ComponentDependencyDeclaration.html#STATE_AVAILABLE_OPTIONAL">STATE_AVAILABLE_OPTIONAL</a></span></code> +<div class="block">State constant for an available, optional dependency.</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>static int</code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/ComponentDependencyDeclaration.html#STATE_AVAILABLE_REQUIRED">STATE_AVAILABLE_REQUIRED</a></span></code> +<div class="block">State constant for an available, required dependency.</div> +</td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>static java.lang.String[]</code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/ComponentDependencyDeclaration.html#STATE_NAMES">STATE_NAMES</a></span></code> +<div class="block">Names for the states of this dependency.</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>static int</code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/ComponentDependencyDeclaration.html#STATE_OPTIONAL">STATE_OPTIONAL</a></span></code> +<div class="block">State constant for an optional dependency that has not been started yet.</div> +</td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>static int</code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/ComponentDependencyDeclaration.html#STATE_REQUIRED">STATE_REQUIRED</a></span></code> +<div class="block">State constant for a required dependency that has not been started yet.</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>static int</code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/ComponentDependencyDeclaration.html#STATE_UNAVAILABLE_OPTIONAL">STATE_UNAVAILABLE_OPTIONAL</a></span></code> +<div class="block">State constant for an unavailable, optional dependency.</div> +</td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>static int</code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/ComponentDependencyDeclaration.html#STATE_UNAVAILABLE_REQUIRED">STATE_UNAVAILABLE_REQUIRED</a></span></code> +<div class="block">State constant for an unavailable, required 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="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"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd"> </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/ComponentDependencyDeclaration.html#getFilter--">getFilter</a></span>()</code> +<div class="block">Returns the Dependency filter or null</div> +</td> +</tr> +<tr id="i1" class="rowColor"> +<td class="colFirst"><code>java.lang.String</code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/ComponentDependencyDeclaration.html#getName--">getName</a></span>()</code> +<div class="block">Returns the name of this dependency (a generic name with optional info separated by spaces)</div> +</td> +</tr> +<tr id="i2" class="altColor"> +<td class="colFirst"><code>java.lang.String</code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/ComponentDependencyDeclaration.html#getSimpleName--">getSimpleName</a></span>()</code> +<div class="block">Returns the simple dependency name (service classname for example)</div> +</td> +</tr> +<tr id="i3" class="rowColor"> +<td class="colFirst"><code>int</code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/ComponentDependencyDeclaration.html#getState--">getState</a></span>()</code> +<div class="block">Returns the state of this dependency.</div> +</td> +</tr> +<tr id="i4" class="altColor"> +<td class="colFirst"><code>java.lang.String</code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/ComponentDependencyDeclaration.html#getType--">getType</a></span>()</code> +<div class="block">Returns the name of the type of this dependency.</div> +</td> +</tr> +</table> +</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="STATE_NAMES"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>STATE_NAMES</h4> +<pre>static final java.lang.String[] STATE_NAMES</pre> +<div class="block">Names for the states of this dependency.</div> +</li> +</ul> +<a name="STATE_UNAVAILABLE_OPTIONAL"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>STATE_UNAVAILABLE_OPTIONAL</h4> +<pre>static final int STATE_UNAVAILABLE_OPTIONAL</pre> +<div class="block">State constant for an unavailable, optional dependency.</div> +<dl> +<dt><span class="seeLabel">See Also:</span></dt> +<dd><a href="../../../../constant-values.html#org.apache.felix.dm.ComponentDependencyDeclaration.STATE_UNAVAILABLE_OPTIONAL">Constant Field Values</a></dd> +</dl> +</li> +</ul> +<a name="STATE_AVAILABLE_OPTIONAL"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>STATE_AVAILABLE_OPTIONAL</h4> +<pre>static final int STATE_AVAILABLE_OPTIONAL</pre> +<div class="block">State constant for an available, optional dependency.</div> +<dl> +<dt><span class="seeLabel">See Also:</span></dt> +<dd><a href="../../../../constant-values.html#org.apache.felix.dm.ComponentDependencyDeclaration.STATE_AVAILABLE_OPTIONAL">Constant Field Values</a></dd> +</dl> +</li> +</ul> +<a name="STATE_UNAVAILABLE_REQUIRED"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>STATE_UNAVAILABLE_REQUIRED</h4> +<pre>static final int STATE_UNAVAILABLE_REQUIRED</pre> +<div class="block">State constant for an unavailable, required dependency.</div> +<dl> +<dt><span class="seeLabel">See Also:</span></dt> +<dd><a href="../../../../constant-values.html#org.apache.felix.dm.ComponentDependencyDeclaration.STATE_UNAVAILABLE_REQUIRED">Constant Field Values</a></dd> +</dl> +</li> +</ul> +<a name="STATE_AVAILABLE_REQUIRED"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>STATE_AVAILABLE_REQUIRED</h4> +<pre>static final int STATE_AVAILABLE_REQUIRED</pre> +<div class="block">State constant for an available, required dependency.</div> +<dl> +<dt><span class="seeLabel">See Also:</span></dt> +<dd><a href="../../../../constant-values.html#org.apache.felix.dm.ComponentDependencyDeclaration.STATE_AVAILABLE_REQUIRED">Constant Field Values</a></dd> +</dl> +</li> +</ul> +<a name="STATE_OPTIONAL"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>STATE_OPTIONAL</h4> +<pre>static final int STATE_OPTIONAL</pre> +<div class="block">State constant for an optional dependency that has not been started yet.</div> +<dl> +<dt><span class="seeLabel">See Also:</span></dt> +<dd><a href="../../../../constant-values.html#org.apache.felix.dm.ComponentDependencyDeclaration.STATE_OPTIONAL">Constant Field Values</a></dd> +</dl> +</li> +</ul> +<a name="STATE_REQUIRED"> +<!-- --> +</a> +<ul class="blockListLast"> +<li class="blockList"> +<h4>STATE_REQUIRED</h4> +<pre>static final int STATE_REQUIRED</pre> +<div class="block">State constant for a required dependency that has not been started yet.</div> +<dl> +<dt><span class="seeLabel">See Also:</span></dt> +<dd><a href="../../../../constant-values.html#org.apache.felix.dm.ComponentDependencyDeclaration.STATE_REQUIRED">Constant Field Values</a></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="getName--"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>getName</h4> +<pre>java.lang.String getName()</pre> +<div class="block">Returns the name of this dependency (a generic name with optional info separated by spaces)</div> +</li> +</ul> +<a name="getSimpleName--"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>getSimpleName</h4> +<pre>java.lang.String getSimpleName()</pre> +<div class="block">Returns the simple dependency name (service classname for example)</div> +</li> +</ul> +<a name="getFilter--"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>getFilter</h4> +<pre>java.lang.String getFilter()</pre> +<div class="block">Returns the Dependency filter or null</div> +</li> +</ul> +<a name="getType--"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>getType</h4> +<pre>java.lang.String getType()</pre> +<div class="block">Returns the name of the type of this dependency.</div> +</li> +</ul> +<a name="getState--"> +<!-- --> +</a> +<ul class="blockListLast"> +<li class="blockList"> +<h4>getState</h4> +<pre>int getState()</pre> +<div class="block">Returns the state of this dependency.</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> +<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/ComponentDeclaration.html" title="interface in org.apache.felix.dm"><span class="typeNameLink">Prev Class</span></a></li> +<li><a href="../../../../org/apache/felix/dm/ComponentExecutorFactory.html" title="interface in org.apache.felix.dm"><span class="typeNameLink">Next Class</span></a></li> +</ul> +<ul class="navList"> +<li><a href="../../../../index.html?org/apache/felix/dm/ComponentDependencyDeclaration.html" target="_top">Frames</a></li> +<li><a href="ComponentDependencyDeclaration.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>Constr | </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>Constr | </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: felix/site/trunk/content/apidocs/dependencymanager/r13/org/apache/felix/dm/ComponentExecutorFactory.html URL: http://svn.apache.org/viewvc/felix/site/trunk/content/apidocs/dependencymanager/r13/org/apache/felix/dm/ComponentExecutorFactory.html?rev=1844571&view=auto ============================================================================== --- felix/site/trunk/content/apidocs/dependencymanager/r13/org/apache/felix/dm/ComponentExecutorFactory.html (added) +++ felix/site/trunk/content/apidocs/dependencymanager/r13/org/apache/felix/dm/ComponentExecutorFactory.html Mon Oct 22 16:45:26 2018 @@ -0,0 +1,367 @@ +<!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_172) on Mon Oct 22 18:34:41 CEST 2018 --> +<title>ComponentExecutorFactory</title> +<meta name="date" content="2018-10-22"> +<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="ComponentExecutorFactory"; + } + } + catch(err) { + } +//--> +var methods = {"i0":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/ComponentDependencyDeclaration.html" title="interface in org.apache.felix.dm"><span class="typeNameLink">Prev Class</span></a></li> +<li><a href="../../../../org/apache/felix/dm/ComponentState.html" title="enum in org.apache.felix.dm"><span class="typeNameLink">Next Class</span></a></li> +</ul> +<ul class="navList"> +<li><a href="../../../../index.html?org/apache/felix/dm/ComponentExecutorFactory.html" target="_top">Frames</a></li> +<li><a href="ComponentExecutorFactory.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>Field | </li> +<li>Constr | </li> +<li><a href="#method.summary">Method</a></li> +</ul> +<ul class="subNavList"> +<li>Detail: </li> +<li>Field | </li> +<li>Constr | </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 ComponentExecutorFactory" class="title">Interface ComponentExecutorFactory</h2> +</div> +<div class="contentContainer"> +<div class="description"> +<ul class="blockList"> +<li class="blockList"> +<hr> +<br> +<pre>public interface <span class="typeNameLabel">ComponentExecutorFactory</span></pre> +<div class="block">A <code>ComponentExecutorFactory</code> service can be registered by any management agent bundle + in order to enable parallel activation of Components.<p> + + A <code>ComponentExecutorFactory</code> is part of the new concurrency model that forms the basis + of Dependency Manager 4.0. Let's first give a brief overview of the default thread model used when + no ComponentExecutorFactory is used. Then we'll explain the rationale and the usage of a + <code>ComponentExecutorFactory</code> service. + <p> + + <h3>Default Thread Model</h3> + + By default, Dependency Manager uses a <b>lock-free/single thread</b> model: + <p><ul> + + <li> When an external event that influence the state of a Component is taking place (for example, + when a service dependency on which the Component is depending on is registered in the registry by + a given thread), then DependencyManager does not perform any locking for the handling of the event. + Instead of that, a job that will handle the event is inserted in an internal lock-free + <b><code>Serial Queue</code></b> which is internally maintained in each Component. + + <li> all jobs scheduled in the <code>Serial Queue</code> are then executed in FIFO order, by the first + thread which has triggered the first event. This avoid to use some blocking locks in DM internals, and + also it simplifies the development of DM components, because all lifecycle callbacks + (init/start/stop/destroy) and dependency injections are scheduled through the <code>Serial Queue</code>: + This means that your component is not concurrently called in lifecycle callbacks and in dependency injection + methods. + + <li> Now let's describe which thread is executing the jobs scheduled in a Component <code>Serial Queue</code>: + When a job (J1) is scheduled in the queue while it is empty, then the current thread becomes the "master" + and will immediately execute the <code>Serial Queue</code> tasks (synchronously). And if another thread + triggers another event concurrently while the "master" thread is executing the job J1, then a job (J2) + for this new event is just enqueued in the <code>Serial Queue</code>, but the other thread returns + immediately to the caller, and the job J2 will then be executed by the "master" thread (after J1). + </ul> + + <p> + This mechanism allows to serially handle all Component events (service dependencies) in FIFO order + without maintaining any locks. + + <h3>Enabling parallelism with a <code>ComponentExecutorFactory</code></h3> + + As described above, all the external events that influence the state of a given component are handed by + jobs scheduled in the <code>Serial Queue</code> of the Component, and the jobs are getting executed serially + by a single "master" thread. So usually, bundles are started from a single thread, meaning that all Components + are then activated synchronously. + <p> + + But when you register in the OSGi service registry a <code>ComponentExecutorFactory</code>, that factory + will be used by DependencyManager to create an Executor of your choice for each Component, typically a shared + threadpool configured by yourself. And all the Component <code>Serial Queues</code> will be executed using + the Executor returned by the <a href="../../../../org/apache/felix/dm/ComponentExecutorFactory.html#getExecutorFor-org.apache.felix.dm.Component-"><code>getExecutorFor(Component)</code></a> method. + However, jobs scheduled in the <code>Serial Queue</code> of a given Component are still executed one at a + time, in FIFO order and the Component remains single threaded, and <b>independent Components + may then each be managed and activated concurrently with respect to each other</b>. + <p> + If you want to ensure that all Components are initialized <b>after</b> the ComponentExecutorFactory is + registered in the OSGI registry, you can use the "org.apache.felix.dependencymanager.parallel" OSGi + system property which specifies the list of components which must wait for the ComponentExecutorFactory + service. This property value can be set to a wildcard ("*"), or a list of components implementation class + prefixes (comma separated). So, all components whose class name starts with the specified prefixes will be cached + until the ComponentExecutorFactory service is registered (In this way, it is not necessary to use + the StartLevel service if you want to ensure that all components are started concurrently). + <p> + + Some class name prefixes can also be negated (using "!"), in order to exclude some components from the + list of components using the ComponentExecutorFactory service. + <p> + + Notice that if the ComponentExecutorFactory itself and all its dependent services are defined using + the Dependency Manager API, then you have to list the package of such components with a "!" + prefix, in order to indicate that those components must not wait for a ComponentExecutorFactory service + (since they are part of the ComponentExecutorFactory implementation !). + <p> + + <h3>Examples for the usage of the "org.apache.felix.dependencymanager.parallel" property:</h3> + + <blockquote><pre> + org.apache.felix.dependencymanager.parallel=* + means all components must be cached until a ComponentExecutorFactory comes up. + + org.apache.felix.dependencymanager.parallel=foo.bar, foo.zoo + means only components whose implementation class names are starting with "foo.bar" or "foo.zoo" + must be handled using an Executor returned by the ComponentExecutorFactory service. Other Components + will be handled normally, as when there is no ComponentExecutorFactory available. + + org.apache.felix.dependencymanager.parallel=!foo.threadpool, * + means all components must be delayed until the ComponentExecutorFactory comes up, except the + components whose implementations class names are starting with "foo.threadpool" prefix). + </pre></blockquote> + + <h3>Examples of a ComponentExecutorFactory that provides a shared threadpool:</h3> + + First, we define the OSGi bundle context system property to enable parallelism for all DM Components + excepts the one which declares the ComponentExecutorFactory: + + <blockquote> <pre> + org.apache.felix.dependencymanager.parallel=!com.acme.management.threadpool, * + </pre></blockquote> + + Next, here is the Activator which declares the ComponentExecutorFactory: + + <blockquote> <pre> + package com.acme.management.threadpool; + import org.apache.felix.dm.*; + + public class Activator extends DependencyActivatorBase { + public void init(BundleContext context, DependencyManager mgr) throws Exception { + mgr.add(createComponent() + .setInterface(ComponentExecutorFactory.class.getName(), null) + .setImplementation(ComponentExecutorFactoryImpl.class) + .add(createConfigurationDependency() + .setPid("com.acme.management.threadpool.ComponentExecutorFactoryImpl"))); + } + } + </pre></blockquote> + + And here is the implementation for our ComponentExecutorFactory: + + <blockquote> <pre> + package com.acme.management.threadpool; + import org.apache.felix.dm.*; + + public class ComponentExecutorFactoryImpl implements ComponentExecutorFactory { + volatile Executor m_threadPool; + + void updated(Dictionary conf) { + m_sharedThreadPool = Executors.newFixedThreadPool(Integer.parseInt("threadpool.size")); + } + + @Override + public Executor getExecutorFor(Component component) { + return m_sharedThreadPool; // Use a shared threadpool for all Components + } + } + </pre></blockquote></div> +<dl> +<dt><span class="simpleTagLabel">Since:</span></dt> +<dd>4.0.0</dd> +</dl> +</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"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd"> </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.util.concurrent.Executor</code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/ComponentExecutorFactory.html#getExecutorFor-org.apache.felix.dm.Component-">getExecutorFor</a></span>(<a href="../../../../org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a> component)</code> +<div class="block">Returns an Executor (typically a shared thread pool) used to manage a given DependencyManager Component.</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="getExecutorFor-org.apache.felix.dm.Component-"> +<!-- --> +</a> +<ul class="blockListLast"> +<li class="blockList"> +<h4>getExecutorFor</h4> +<pre>java.util.concurrent.Executor getExecutorFor(<a href="../../../../org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a> component)</pre> +<div class="block">Returns an Executor (typically a shared thread pool) used to manage a given DependencyManager Component.</div> +<dl> +<dt><span class="paramLabel">Parameters:</span></dt> +<dd><code>component</code> - the Component to be managed by the returned Executor</dd> +<dt><span class="returnLabel">Returns:</span></dt> +<dd>an Executor used to manage the given component, or null if the component must not be managed using any executor.</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/ComponentDependencyDeclaration.html" title="interface in org.apache.felix.dm"><span class="typeNameLink">Prev Class</span></a></li> +<li><a href="../../../../org/apache/felix/dm/ComponentState.html" title="enum in org.apache.felix.dm"><span class="typeNameLink">Next Class</span></a></li> +</ul> +<ul class="navList"> +<li><a href="../../../../index.html?org/apache/felix/dm/ComponentExecutorFactory.html" target="_top">Frames</a></li> +<li><a href="ComponentExecutorFactory.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>Field | </li> +<li>Constr | </li> +<li><a href="#method.summary">Method</a></li> +</ul> +<ul class="subNavList"> +<li>Detail: </li> +<li>Field | </li> +<li>Constr | </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: felix/site/trunk/content/apidocs/dependencymanager/r13/org/apache/felix/dm/ComponentState.html URL: http://svn.apache.org/viewvc/felix/site/trunk/content/apidocs/dependencymanager/r13/org/apache/felix/dm/ComponentState.html?rev=1844571&view=auto ============================================================================== --- felix/site/trunk/content/apidocs/dependencymanager/r13/org/apache/felix/dm/ComponentState.html (added) +++ felix/site/trunk/content/apidocs/dependencymanager/r13/org/apache/felix/dm/ComponentState.html Mon Oct 22 16:45:26 2018 @@ -0,0 +1,446 @@ +<!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_172) on Mon Oct 22 18:34:41 CEST 2018 --> +<title>ComponentState</title> +<meta name="date" content="2018-10-22"> +<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="ComponentState"; + } + } + catch(err) { + } +//--> +var methods = {"i0":9,"i1":9}; +var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete 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/ComponentExecutorFactory.html" title="interface in org.apache.felix.dm"><span class="typeNameLink">Prev Class</span></a></li> +<li><a href="../../../../org/apache/felix/dm/ComponentStateListener.html" title="interface in org.apache.felix.dm"><span class="typeNameLink">Next Class</span></a></li> +</ul> +<ul class="navList"> +<li><a href="../../../../index.html?org/apache/felix/dm/ComponentState.html" target="_top">Frames</a></li> +<li><a href="ComponentState.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="#enum.constant.summary">Enum Constants</a> | </li> +<li>Field | </li> +<li><a href="#method.summary">Method</a></li> +</ul> +<ul class="subNavList"> +<li>Detail: </li> +<li><a href="#enum.constant.detail">Enum Constants</a> | </li> +<li>Field | </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="Enum ComponentState" class="title">Enum ComponentState</h2> +</div> +<div class="contentContainer"> +<ul class="inheritance"> +<li>java.lang.Object</li> +<li> +<ul class="inheritance"> +<li>java.lang.Enum<<a href="../../../../org/apache/felix/dm/ComponentState.html" title="enum in org.apache.felix.dm">ComponentState</a>></li> +<li> +<ul class="inheritance"> +<li>org.apache.felix.dm.ComponentState</li> +</ul> +</li> +</ul> +</li> +</ul> +<div class="description"> +<ul class="blockList"> +<li class="blockList"> +<dl> +<dt>All Implemented Interfaces:</dt> +<dd>java.io.Serializable, java.lang.Comparable<<a href="../../../../org/apache/felix/dm/ComponentState.html" title="enum in org.apache.felix.dm">ComponentState</a>></dd> +</dl> +<hr> +<br> +<pre>public enum <span class="typeNameLabel">ComponentState</span> +extends java.lang.Enum<<a href="../../../../org/apache/felix/dm/ComponentState.html" title="enum in org.apache.felix.dm">ComponentState</a>></pre> +<div class="block">Component states. Any state listeners registered using @link <a href="../../../../org/apache/felix/dm/Component.html#add-org.apache.felix.dm.ComponentStateListener-"><code>Component.add(ComponentStateListener)</code></a> method + are notified with the following stated whenever the component state changes.</div> +</li> +</ul> +</div> +<div class="summary"> +<ul class="blockList"> +<li class="blockList"> +<!-- =========== ENUM CONSTANT SUMMARY =========== --> +<ul class="blockList"> +<li class="blockList"><a name="enum.constant.summary"> +<!-- --> +</a> +<h3>Enum Constant Summary</h3> +<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Constant Summary table, listing enum constants, and an explanation"> +<caption><span>Enum Constants</span><span class="tabEnd"> </span></caption> +<tr> +<th class="colOne" scope="col">Enum Constant and Description</th> +</tr> +<tr class="altColor"> +<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/ComponentState.html#INACTIVE">INACTIVE</a></span></code> +<div class="block">The component is not currently started, and is inactive.</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/ComponentState.html#INSTANTIATED_AND_WAITING_FOR_REQUIRED">INSTANTIATED_AND_WAITING_FOR_REQUIRED</a></span></code> +<div class="block">The component is instantiated and waiting for dynamic required dependencies defined in init callback.</div> +</td> +</tr> +<tr class="altColor"> +<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/ComponentState.html#STARTED">STARTED</a></span></code> +<div class="block">The component has been called in its started callback.</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/ComponentState.html#STARTING">STARTING</a></span></code> +<div class="block">The component is starting.</div> +</td> +</tr> +<tr class="altColor"> +<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/ComponentState.html#STOPPED">STOPPED</a></span></code> +<div class="block">the component is stopped.</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/ComponentState.html#STOPPING">STOPPING</a></span></code> +<div class="block">the component is stopping.</div> +</td> +</tr> +<tr class="altColor"> +<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/ComponentState.html#TRACKING_OPTIONAL">TRACKING_OPTIONAL</a></span></code> +<div class="block">The component is started.</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/ComponentState.html#WAITING_FOR_REQUIRED">WAITING_FOR_REQUIRED</a></span></code> +<div class="block">The component is waiting for some required dependencies defined in the Activator.</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="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"> </span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd"> </span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd"> </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>static <a href="../../../../org/apache/felix/dm/ComponentState.html" title="enum in org.apache.felix.dm">ComponentState</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/ComponentState.html#valueOf-java.lang.String-">valueOf</a></span>(java.lang.String name)</code> +<div class="block">Returns the enum constant of this type with the specified name.</div> +</td> +</tr> +<tr id="i1" class="rowColor"> +<td class="colFirst"><code>static <a href="../../../../org/apache/felix/dm/ComponentState.html" title="enum in org.apache.felix.dm">ComponentState</a>[]</code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/ComponentState.html#values--">values</a></span>()</code> +<div class="block">Returns an array containing the constants of this enum type, in +the order they are declared.</div> +</td> +</tr> +</table> +<ul class="blockList"> +<li class="blockList"><a name="methods.inherited.from.class.java.lang.Enum"> +<!-- --> +</a> +<h3>Methods inherited from class java.lang.Enum</h3> +<code>clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf</code></li> +</ul> +<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>getClass, notify, notifyAll, wait, wait, wait</code></li> +</ul> +</li> +</ul> +</li> +</ul> +</div> +<div class="details"> +<ul class="blockList"> +<li class="blockList"> +<!-- ============ ENUM CONSTANT DETAIL =========== --> +<ul class="blockList"> +<li class="blockList"><a name="enum.constant.detail"> +<!-- --> +</a> +<h3>Enum Constant Detail</h3> +<a name="INACTIVE"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>INACTIVE</h4> +<pre>public static final <a href="../../../../org/apache/felix/dm/ComponentState.html" title="enum in org.apache.felix.dm">ComponentState</a> INACTIVE</pre> +<div class="block">The component is not currently started, and is inactive.</div> +</li> +</ul> +<a name="WAITING_FOR_REQUIRED"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>WAITING_FOR_REQUIRED</h4> +<pre>public static final <a href="../../../../org/apache/felix/dm/ComponentState.html" title="enum in org.apache.felix.dm">ComponentState</a> WAITING_FOR_REQUIRED</pre> +<div class="block">The component is waiting for some required dependencies defined in the Activator. + At this point the component has not yet been called in its init callback.</div> +</li> +</ul> +<a name="INSTANTIATED_AND_WAITING_FOR_REQUIRED"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>INSTANTIATED_AND_WAITING_FOR_REQUIRED</h4> +<pre>public static final <a href="../../../../org/apache/felix/dm/ComponentState.html" title="enum in org.apache.felix.dm">ComponentState</a> INSTANTIATED_AND_WAITING_FOR_REQUIRED</pre> +<div class="block">The component is instantiated and waiting for dynamic required dependencies defined in init callback.</div> +</li> +</ul> +<a name="STARTING"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>STARTING</h4> +<pre>public static final <a href="../../../../org/apache/felix/dm/ComponentState.html" title="enum in org.apache.felix.dm">ComponentState</a> STARTING</pre> +<div class="block">The component is starting. At this point, all required dependencies have been injected (including + dynamic dependencies added from the init method), but the start callback has not yet been called and + the service has not been registered yet.</div> +</li> +</ul> +<a name="STARTED"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>STARTED</h4> +<pre>public static final <a href="../../../../org/apache/felix/dm/ComponentState.html" title="enum in org.apache.felix.dm">ComponentState</a> STARTED</pre> +<div class="block">The component has been called in its started callback. At this point, the component has not yet been registered + in the service registry.</div> +</li> +</ul> +<a name="TRACKING_OPTIONAL"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>TRACKING_OPTIONAL</h4> +<pre>public static final <a href="../../../../org/apache/felix/dm/ComponentState.html" title="enum in org.apache.felix.dm">ComponentState</a> TRACKING_OPTIONAL</pre> +<div class="block">The component is started. At this point, the component:<p> + <ul> + <li> has been called in its start callback + <li> the optional dependency callbacks have been invoked (if some optional dependencies are available) + <li> and the service has been registered + </ul></div> +</li> +</ul> +<a name="STOPPING"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>STOPPING</h4> +<pre>public static final <a href="../../../../org/apache/felix/dm/ComponentState.html" title="enum in org.apache.felix.dm">ComponentState</a> STOPPING</pre> +<div class="block">the component is stopping. At this point, the service is still registered.</div> +</li> +</ul> +<a name="STOPPED"> +<!-- --> +</a> +<ul class="blockListLast"> +<li class="blockList"> +<h4>STOPPED</h4> +<pre>public static final <a href="../../../../org/apache/felix/dm/ComponentState.html" title="enum in org.apache.felix.dm">ComponentState</a> STOPPED</pre> +<div class="block">the component is stopped. At this point, the service has been unregistered.</div> +</li> +</ul> +</li> +</ul> +<!-- ============ METHOD DETAIL ========== --> +<ul class="blockList"> +<li class="blockList"><a name="method.detail"> +<!-- --> +</a> +<h3>Method Detail</h3> +<a name="values--"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>values</h4> +<pre>public static <a href="../../../../org/apache/felix/dm/ComponentState.html" title="enum in org.apache.felix.dm">ComponentState</a>[] values()</pre> +<div class="block">Returns an array containing the constants of this enum type, in +the order they are declared. This method may be used to iterate +over the constants as follows: +<pre> +for (ComponentState c : ComponentState.values()) + System.out.println(c); +</pre></div> +<dl> +<dt><span class="returnLabel">Returns:</span></dt> +<dd>an array containing the constants of this enum type, in the order they are declared</dd> +</dl> +</li> +</ul> +<a name="valueOf-java.lang.String-"> +<!-- --> +</a> +<ul class="blockListLast"> +<li class="blockList"> +<h4>valueOf</h4> +<pre>public static <a href="../../../../org/apache/felix/dm/ComponentState.html" title="enum in org.apache.felix.dm">ComponentState</a> valueOf(java.lang.String name)</pre> +<div class="block">Returns the enum constant of this type with the specified name. +The string must match <i>exactly</i> an identifier used to declare an +enum constant in this type. (Extraneous whitespace characters are +not permitted.)</div> +<dl> +<dt><span class="paramLabel">Parameters:</span></dt> +<dd><code>name</code> - the name of the enum constant to be returned.</dd> +<dt><span class="returnLabel">Returns:</span></dt> +<dd>the enum constant with the specified name</dd> +<dt><span class="throwsLabel">Throws:</span></dt> +<dd><code>java.lang.IllegalArgumentException</code> - if this enum type has no constant with the specified name</dd> +<dd><code>java.lang.NullPointerException</code> - if the argument is null</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/ComponentExecutorFactory.html" title="interface in org.apache.felix.dm"><span class="typeNameLink">Prev Class</span></a></li> +<li><a href="../../../../org/apache/felix/dm/ComponentStateListener.html" title="interface in org.apache.felix.dm"><span class="typeNameLink">Next Class</span></a></li> +</ul> +<ul class="navList"> +<li><a href="../../../../index.html?org/apache/felix/dm/ComponentState.html" target="_top">Frames</a></li> +<li><a href="ComponentState.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="#enum.constant.summary">Enum Constants</a> | </li> +<li>Field | </li> +<li><a href="#method.summary">Method</a></li> +</ul> +<ul class="subNavList"> +<li>Detail: </li> +<li><a href="#enum.constant.detail">Enum Constants</a> | </li> +<li>Field | </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: felix/site/trunk/content/apidocs/dependencymanager/r13/org/apache/felix/dm/ComponentStateListener.html URL: http://svn.apache.org/viewvc/felix/site/trunk/content/apidocs/dependencymanager/r13/org/apache/felix/dm/ComponentStateListener.html?rev=1844571&view=auto ============================================================================== --- felix/site/trunk/content/apidocs/dependencymanager/r13/org/apache/felix/dm/ComponentStateListener.html (added) +++ felix/site/trunk/content/apidocs/dependencymanager/r13/org/apache/felix/dm/ComponentStateListener.html Mon Oct 22 16:45:26 2018 @@ -0,0 +1,233 @@ +<!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_172) on Mon Oct 22 18:34:41 CEST 2018 --> +<title>ComponentStateListener</title> +<meta name="date" content="2018-10-22"> +<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="ComponentStateListener"; + } + } + catch(err) { + } +//--> +var methods = {"i0":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/ComponentState.html" title="enum in org.apache.felix.dm"><span class="typeNameLink">Prev Class</span></a></li> +<li><a href="../../../../org/apache/felix/dm/ConfigurationDependency.html" title="interface in org.apache.felix.dm"><span class="typeNameLink">Next Class</span></a></li> +</ul> +<ul class="navList"> +<li><a href="../../../../index.html?org/apache/felix/dm/ComponentStateListener.html" target="_top">Frames</a></li> +<li><a href="ComponentStateListener.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>Field | </li> +<li>Constr | </li> +<li><a href="#method.summary">Method</a></li> +</ul> +<ul class="subNavList"> +<li>Detail: </li> +<li>Field | </li> +<li>Constr | </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 ComponentStateListener" class="title">Interface ComponentStateListener</h2> +</div> +<div class="contentContainer"> +<div class="description"> +<ul class="blockList"> +<li class="blockList"> +<hr> +<br> +<pre>public interface <span class="typeNameLabel">ComponentStateListener</span></pre> +<div class="block">This interface can be used to register a component state listener. Component + state listeners are called whenever a component state changes. You get notified + when the internal component state is changed, when the component is starting, + started, stopping and stopped. Each callback includes a reference to the component in question.</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"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd"> </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>void</code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/felix/dm/ComponentStateListener.html#changed-org.apache.felix.dm.Component-org.apache.felix.dm.ComponentState-">changed</a></span>(<a href="../../../../org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a> c, + <a href="../../../../org/apache/felix/dm/ComponentState.html" title="enum in org.apache.felix.dm">ComponentState</a> state)</code> +<div class="block">Called on each component state change.</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="changed-org.apache.felix.dm.Component-org.apache.felix.dm.ComponentState-"> +<!-- --> +</a> +<ul class="blockListLast"> +<li class="blockList"> +<h4>changed</h4> +<pre>void changed(<a href="../../../../org/apache/felix/dm/Component.html" title="interface in org.apache.felix.dm">Component</a> c, + <a href="../../../../org/apache/felix/dm/ComponentState.html" title="enum in org.apache.felix.dm">ComponentState</a> state)</pre> +<div class="block">Called on each component state change.</div> +<dl> +<dt><span class="paramLabel">Parameters:</span></dt> +<dd><code>c</code> - the component</dd> +<dd><code>state</code> - the new component state</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/ComponentState.html" title="enum in org.apache.felix.dm"><span class="typeNameLink">Prev Class</span></a></li> +<li><a href="../../../../org/apache/felix/dm/ConfigurationDependency.html" title="interface in org.apache.felix.dm"><span class="typeNameLink">Next Class</span></a></li> +</ul> +<ul class="navList"> +<li><a href="../../../../index.html?org/apache/felix/dm/ComponentStateListener.html" target="_top">Frames</a></li> +<li><a href="ComponentStateListener.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>Field | </li> +<li>Constr | </li> +<li><a href="#method.summary">Method</a></li> +</ul> +<ul class="subNavList"> +<li>Detail: </li> +<li>Field | </li> +<li>Constr | </li> +<li><a href="#method.detail">Method</a></li> +</ul> +</div> +<a name="skip.navbar.bottom"> +<!-- --> +</a></div> +<!-- ======== END OF BOTTOM NAVBAR ======= --> +</body> +</html>